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

Hibernate中的一对一,多对一和一对多的默认获取类型

慕光霁
2023-03-14
问题内容

hibernate映射中的默认访存类型是什么?

探索之后我知道的是:

  • 渴望 一对一。
  • 对于一对多来说,这是 懒惰的

但是在Eclipse中对其进行测试后,它对所有人都非常渴望。

是否取决于我使用的是JPA还是Hibernate?


问题答案:

这取决于您使用的是JPA还是Hibernate。

根据JPA 2.0规范,默认值为:

OneToMany: LAZY
ManyToOne: EAGER
ManyToMany: LAZY
OneToOne: EAGER

hibernate的时候,一切都是懒惰的

更新:

最新版本的Hibernate符合上述JPA默认设置。



 类似资料:
  • null 但是在Eclipse中测试它之后,它渴望得到所有的东西。 是否取决于我使用的是JPA还是Hibernate?

  • 问题内容: 好的,所以这可能是一个琐碎的问题,但是我在可视化和理解差异以及何时使用它们方面遇到困难。对于诸如单向和双向映射之类的概念如何影响一对多/多对多关系,我也还不清楚。我现在正在使用Hibernate,因此任何与ORM相关的解释都将有所帮助。 举例来说,我有以下设置: 那么在这种情况下,我将进行哪种映射?对于这个特定示例的答案肯定会受到赞赏,但我也确实希望获得何时使用一对多和多对多以及何时使

  • 我正在学习冬眠,只是有点困惑。

  • 我的数据模型中有以下实体关系。 ERD Hibernate实体: 要求:我想用实体B的连接获取查询实体C,同时也急切地获取实体D。查询完成后,我希望如果我执行,它不应导致hibernate中的N 1查询问题。 我正在尝试以下JPQL查询: 这导致结果重复,因为与实体D交叉连接。我得到的不是一个结果,而是n个结果,其中n是实体D列表的大小。 我该如何避免这种情况?有没有办法在JPQL中不交叉连接地获

  • 这是项目迁移 这是时间表 这样用户就可以迁移了 这是我的项目模型 这是我的时间表模型: 这是我的用户模型 现在,我从项目返回我的查询 这是可以的,但user_id用户在timesheets.user_id我不能得到它的时间表,并得到它 此控制器按时间表中的项目id返回项目和时间表,但时间表中的用户id我不知道如何将其输入系统

  • 下面的映射给出的错误为 从db.karateInvoiceDetail引用db.karateInvoice的外键的列数错误。应为1 想法是有一个表,它的组合键为(id、fiscalyear和companyId),而表的组合键为(seqNo、InvoiceId、InvoiceFiscalYear和InvoiceCompanyId)。