Spring Jpa:更改实体的FetchType

时间:2017-09-16 12:53:07

标签: java spring hibernate spring-data-jpa

假设我有Foo个实体,其中一个字段用@ManyToOne(fetch = FetchType.LAZY)注释。通常不需要此字段,但在某些查询中,我们需要具有所有相关实体的所有元素。我不想逐个查询数据库以获取关联实体(n + 1选择问题)。有没有办法指定fetchType?类似的东西:

@Repository
public interface FooRepository extends CrudRepository <Foo, String> {
  List<Foo> findAll(FetchType fetchType);
}

1 个答案:

答案 0 :(得分:1)

@OneToMany(fetch = FetchType.LAZY)
List<Address> address;

假设你有上面的代码。 如果您执行address.size()

,则可以避免n + 1问题
getAdress().size()

这样hibernate将立即加载所有元素,而不是逐个加载。

相关问题