2016-05-13 121 views
0

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

下面是一个例子

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

JPA是否默认情况下,这个属性添加一个@OneToMany批注?

回答

1

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

+0

谢谢。我正在使用休眠。有人知道该实施情况如何。? – kuvic