【问题标题】:Why jpa and hibernate both have "Entity" and "Table" annotations?为什么 jpa 和 hibernate 都有“实体”和“表”注释?
【发布时间】:2011-11-29 06:29:14
【问题描述】:

我用的是hibernate 3.6,发现有这样的注解:

javax.persistence.Entity
org.hibernate.annotations.Entity

javax.persistence.Table
org.hibernate.annotations.Table

为什么hibernate提供了自己的?它是 jpa one 的替代品,还是只是一个补充?我应该(可以)同时使用它们,例如:

@javax.persistence.Entity
@org.hibernate.annotations.Entity
public class User {}

【问题讨论】:

    标签: hibernate jpa annotations


    【解决方案1】:

    org.hibernate.annotations.Entity 扩展了 javax.persistence.Entity 的休眠特性。

    见:http://docs.jboss.org/hibernate/core/3.6/javadocs/org/hibernate/annotations/Entity.html

    【讨论】:

    • 所以你必须使用这两个注释才能与 JPA 兼容。如果你在没有 JPA 的情况下使用休眠,那么休眠实体可能只能工作。
    • 如果你想与 JPA 兼容,那么你只使用 JPA 注释;你确实同时使用。
    • 是的,你是对的。您不是完全兼容 JPA,但如果您确实需要这些特殊的休眠功能,则更好的方法。另一种方法是删除整个 JPA-Stuff 并使用 SessionFactory。
    猜你喜欢
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 2012-11-08
    • 2016-07-16
    • 2013-10-31
    • 2010-10-31
    • 2011-12-07
    • 2011-08-06
    相关资源
    最近更新 更多