我正试图更新到Hibernate 4,我得到的org.hibernate.annotations.Entity已弃用。然而,没有任何文件似乎表明这是事实。任何人都有这方面的见解?org.hibernate.annotations.Entity在Hibernate 4中弃用?
@org.hibernate.annotations.Entity(dynamicUpdate = true)
我正试图更新到Hibernate 4,我得到的org.hibernate.annotations.Entity已弃用。然而,没有任何文件似乎表明这是事实。任何人都有这方面的见解?org.hibernate.annotations.Entity在Hibernate 4中弃用?
@org.hibernate.annotations.Entity(dynamicUpdate = true)
是的,它被弃用4.0+:
Deprecate org.hibernate.annotations.Entity
Its individual attributes/values should become annotations.
Schedule for removal in 4.1
您应该使用@DynamicUpdate
代替
这里是一个fixed JIRA谈论它。
从Hibernate Getting Started Guide:
的
@javax.persistence.Entity
注释被用于标记类作为 的实体。它的功能与第2.3节“映射文件”中讨论的类映射元素 相同。此外,@javax.persistence.Table
注释明确指定表 名称。没有这个规范,默认的表名将是 EVENT)。
由于org.hibernate.annotations.Entity已被弃用,因此您应该使用Java EE注释。另外,正如已经提到的那样,对于注释配置@org.hibernate.annotations.Entity
,你应该使用各自的注释,例如@DynamicUpdate
。
希望有所帮助。
注:Event
是在本例中注释的类的名称,这就是为什么它指出:“默认的表名称将是事件”。
为了将来的目的,请参考已弃用的API列表Hibernate 4.0。链接如下: - Deprecated API
谢谢。在这个说明中,升级到Hibernate 4是有点棘手的。我甚至无法创建会话工厂: – MTR
请注意,@ @ DynamicInsert标注也存在。 –