使用OneToOne或OneToMany获取加入不在JPA存储库中工作

时间:2016-03-13 01:34:28

标签: spring orm spring-data spring-data-jpa jpql

实体A与实体B一对一映射。处理EntityARepository并将find()与实体A一起使用。(Eager Loading)

当我输出sql时,它显示了两个select语句,但它应该是单选连接查询。这可以通过编写JPQL来实现。但我想知道可能与JPARepository方法有关。

1 个答案:

答案 0 :(得分:1)

据我所知,JPA规范不允许您在实体级别选择获取策略,默认情况下策略为“select”,这意味着每次获取都会有一个新查询。 您正在寻找“加入”策略。 如果您使用的是Hibernate,可以使用@Fetch(FetchMode.JOIN)来指定策略。