Hibernate注解
我们应该在基于 Hibernate 的应用程序中使用 @org.hibernate.annotations.Entity 而不是 @javax.persistence.Entity 吗?
或者说没有这样的规则?
Should we use @org.hibernate.annotations.Entity instead of @javax.persistence.Entity in Hibernate based applications?
Or is there no such rule?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
@org.hibernate.annotations。 Entity
补充@javax.persistence.Entity
。有关详细信息,请参阅此紧密相关的问题:JPA 实体和 Hibernate 实体之间的差异。如那里所述,您不应该在没有
@javax.persistence.Entity
的情况下使用@org.hibernate.annotations.Entity
。 Hibernate 注释将允许您向标准 JPA 中已定义的功能添加一些额外的 Hibernate 特定功能。JPA 注释的优点是可以将代码与正在使用的特定引擎解耦,而 Hibernate 注释则为 JPA 标准注释添加了一些额外的功能/属性,例如
optimisticLock
。仅当需要使用这些属性时才使用@org.hibernate.annotations.Entity
。@org.hibernate.annotations.Entity
complements@javax.persistence.Entity
.See this tightly related question for details: Difference between JPA Entity and Hibernate Entity. As stated there, you shouldn't be using
@org.hibernate.annotations.Entity
without@javax.persistence.Entity
. The Hibernate annotation will let you add some extra hibernate-specific features to the ones already defined in the standard JPA one.The JPA annotation has the advantange of decoupling your code from the specific engine you're using, and the Hibernate annotation adds some extra features/attributes to the JPA standard annotation, like
optimisticLock
. Only use@org.hibernate.annotations.Entity
if you need to use those attributes.