【问题标题】:What are the default JPA annotations什么是默认的 JPA 注释
【发布时间】:2016-09-09 15:14:21
【问题描述】:

我正在开发一个使用 JPA 和 hibernate 的项目,我刚刚注意到实体没有任何关系注释,例如 @ManyToOne、@OneToOne 等。 所以我的问题是,JPA/Hibernate 是否为每种情况添加了默认注释?

这是一个例子

@Entity
@Table(name = "strategy")
public class Strategy extends TradingEntity implements Serializable {
    ...
@Valid
private List<Rule> rules;

JPA 是否默认为该属性添加@OneToMany 注解?

【问题讨论】:

    标签: java hibernate jpa


    【解决方案1】:

    没有“默认”注释,但一些 JPA 实现(例如我一直在使用的 DataNucleus)足够智能,可以计算出如果一个字段是一个实体类型的集合,那么它就是一个 OneToMany/ ManyToMany 和默认的东西,比如获取和级联等。显然,你不能假设你的实现会有这个逻辑,所以应该放你需要的东西(并且“JPA”什么都不做,它是你的实现会做的)。显然,您可以在 XML 中指定相同的信息,因此可以没有注释

    【讨论】:

    • 谢谢。我正在使用休眠。有谁知道那个实现是什么情况。?
    猜你喜欢
    • 1970-01-01
    • 2016-05-23
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 2013-09-12
    • 2014-09-01
    相关资源
    最近更新 更多