何时使用而不是使用OneToOne和ManyToOne
我刚刚开始阅读JPA,并且在休眠中的实现了解了细节。但是,在那之前继续开发,您能否帮助您阐明基本的qn。
何时
使用OneToOne如果实体管理器需要处理相关对象的持久性,则可以使用OneToOne。关键是,我始终可以在不指定oneToOne的情况下生活,但是我有责任管理这种关系并确保所引用的对象不处于过渡状态。这是真的?
何时使用或不使用ManyToOne
假设我正在定义Employee类,并且需要使用Employer定义rel。在这种情况下,我是否需要像下面那样指定manyToOne,或者如果不指定,该怎么办?
@Entity
public class Employer {
String name;
}
@Entity
class Employee {
String name;
@ManytoOne //or not??
Employer employer;
}
谢谢
回答:
1:
处理实体关系时,必须始终使用适当的注释(OneToOne,OneToMany,ManyToOne或ManyToMany)。您可以选择是否要确保该关系背后的实体自己不是临时的,还是要在OneToOne批注上指定cascade属性,让JPA为您处理。这使您可以创建整个对象图,并在一个调用中将其持久化:
@OneToOne(cascade = CascadeType.ALL)private MyType myType;
2:
是的,劳资关系听起来像是一对多关系,而劳资关系则是ManyToOne。如果您想同时使用两个方向,则称为双向关系。有关详细信息,请参阅Java
EE教程的相关部分。
Java
EE教程的JPA部分是一个很好的参考。
以上是 何时使用而不是使用OneToOne和ManyToOne 的全部内容, 来源链接: utcz.com/qa/421085.html