gpt4 book ai didi

java - 直接 PropertyAccessor 的替代品?

转载 作者:行者123 更新时间:2023-12-02 09:51:07 27 4
gpt4 key购买 nike

我正在将 Spring 4.3.2 项目升级到 Spring 5.1.5。我的一个测试用例开始因错误而失败。

ClassNotFoundException: org.hibernate.property.DirectPropertyAccessor

这是有道理的,因为它已在 Hibernate 5.x 中被弃用,Hibernate 5.x 是 Spring 5.x 的最低兼容 Hibernate 版本。我在 hbm.xml 中使用它,如下所示:

<class name="Notification"
table="T_NOTIFICATION"
lazy="false">

<id name="id"
type="integer"
column="ID"
unsaved-value="null"
access="property">
<generator class="identity"/>
</id>

<!-- A versioned entity. -->
<version name="version"
column="VERSION"
access="org.hibernate.property.DirectPropertyAccessor"/>

我应该用什么替换访问字段以保持相同的行为?

最佳答案

使用access=<class-name>仅当您有自己想要使用的自定义类时,才应该使用它。如果您想使用直接字段访问而不是属性,请使用 access="field"而不是你现在拥有的。另请参阅Hibernate Reference Guide .

在内部,您当前的版本将使用 DirectPropertyAccessor当升级Hibernate时它会自动适应新引入的其他类来使用。现在这个负担就落在了 hibernate 身上,而不是你必须知道 hibernate 的内部 API。

关于java - 直接 PropertyAccessor 的替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56320957/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com