何时使用而不是使用OneToOne和ManyToOne

我刚刚开始阅读JPA,并且在休眠中的实现了解了细节。但是,在那之前继续开发,您能否帮助您阐明基本的qn。

  1. 何时

    使用OneToOne如果实体管理器需要处理相关对象的持久性,则可以使用OneToOne。关键是,我始终可以在不指定oneToOne的情况下生活,但是我有责任管理这种关系并确保所引用的对象不处于过渡状态。这是真的?

  2. 何时使用或不使用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

回到顶部