什么是默认的JPA注释

时间:2016-05-13 12:10:13

标签: java hibernate jpa

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

以下是一个例子

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

JPA是否默认将@OneToMany注释添加到此属性?

1 个答案:

答案 0 :(得分:1)

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