当前位置: 首页 > 面试题库 >

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

马绪
2023-03-14
问题内容

我刚刚开始阅读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部分是一个很好的参考。



 类似资料:
  • 问题内容: 我对php比较陌生。有一件非常基本的事情困扰着我。我了解php用于使网站动态化。我也了解php是可用于创建动态网站的许多服务器端脚本语言之一。 但是,我不明白的是,何时需要使用index.php页面。例如,如果我的索引页面上只有一个简单的登录页面,那么它也可能只是一个简单的html页面。对?那我为什么要使它成为index.php而不是index.html? 一个示例情况的例子将是很好的

  • 假设我有一个名为的表,其字段为,和和,其字段为和。和表与列之间存在外键关系。 如果我在类中执行多对一注释映射,如何确保Hibernate使用LEFT OUTER JOIN加入关联实体?

  • 问题内容: 我熟悉Java,但是刚开始学习JavaFX,尤其是学习JavaFX属性。我了解Oracle的以下示例所示的基本设计模式: 我不明白的是什么时候/为什么要使用getter和setter方法,而不是直接使用Property? 我在想的是,您可能希望在getter和/或setter中有一些自定义代码,这些代码可能对数据做一些前后操作/验证,但是如果您创建自定义getter和/或setter,

  • 在我的firebase(angularfire2)应用程序中,我希望为集合的每个元素返回文档。为此,我使用Observables+.subscribe()。但我想使用RXJ和AsyncPipe获得替代方案。 并在HTML模板中使用。但不起作用。Angular显示下一个错误“找不到类型为”object“的不同支持对象”[object object]“。NgFor仅支持绑定到可迭代对象(如数组)” 我

  • 想改进这个问题吗 通过编辑此帖子,更新问题,以便用事实和引用来回答。 最初的关闭原因未得到解决 我正在开发Apache Kafka。我想知道哪一个更好:Kafka和ActiveMQ。这两种技术的主要区别是什么?我想在Spring MVC中实现Kafka。