假设我有Foo
个实体,其中一个字段用@ManyToOne(fetch = FetchType.LAZY)
注释。通常不需要此字段,但在某些查询中,我们需要具有所有相关实体的所有元素。我不想逐个查询数据库以获取关联实体(n + 1选择问题)。有没有办法指定fetchType?类似的东西:
@Repository
public interface FooRepository extends CrudRepository <Foo, String> {
List<Foo> findAll(FetchType fetchType);
}
答案 0 :(得分:1)
@OneToMany(fetch = FetchType.LAZY)
List<Address> address;
假设你有上面的代码。
如果您执行address.size()
getAdress().size()
这样hibernate将立即加载所有元素,而不是逐个加载。