- 在Jpa中,休眠与关联关系一直是性能的问题。
- 一次又一次地在事务中延迟加载关联会导致n + 1个选择问题,并且为了避免此类问题,使用了JPQL join fetch和Cr iteria api join。但是,使用这两个方法获取数据也会导致交叉连接问题,这意味着所有表记录的交叉连接都将通过休眠返回到合并。
- 同样,对于基于用例的情况,更改在实体级别的注释中定义的访存变量也不是一个好选择。
- 因此,为了解决上述两个问题,引入了实体图。不管实体图中的定义如何,总是渴望获取实体图中定义的所有节点。这些图作为提示传递给查询。
- 通过传递图作为提示,还可以解决交叉连接问题以及注释级别指定的关联获取行为。
对于代码,您可以检查我的github存储库:
https://github.com/vaneetkataria/Jpa-
Hibernate/blob/master/jdbcToJpaMigration/src/test/java/com/katariasoft/technologies/jpaHibernate/entity/fetch/entitygraph/dynamic/MultiInstructorsDynamicEntityGrpahTests.java



