我们有4个表,
一对一B 一个B到多个C. 一个C到多个D
所有都配置了双向和懒人提取。
但是如果我尝试获取A,它也可以获取B而不是C等等。这是一贯的行为吗?它是如何工作的?
答案 0 :(得分:0)
是的,这是一致的行为。规范(JPA 2.0)对于使用FetchType.LAZY:
的预期结果并不太严格EAGER策略是持久性提供程序的要求 必须急切地获取关联实体的运行时。懒人 策略是对持久性提供程序运行时的一个提示。
上面取自OneToOne的定义,但同样适用于其他关系,LAZY暗示,而不是规范。
此外,Hibernate决定不实现延迟提取OneToOne关系。如果您需要,请查看:Hibernate OneToOne lazy loading and cascading