Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring数据JPA惰性加载注释为“渴望”的集合_Java_Hibernate_Jpa_Spring Data Jpa - Fatal编程技术网

Java Spring数据JPA惰性加载注释为“渴望”的集合

Java Spring数据JPA惰性加载注释为“渴望”的集合,java,hibernate,jpa,spring-data-jpa,Java,Hibernate,Jpa,Spring Data Jpa,我有一个项目正在使用Spring数据存储库自动生成它的一些方法。一个这样的方法是接受一对参数并返回一个图书列表的方法。在存储库中,该方法如下所示: List<Book> findBySellerFlagTrueAndPublishedState(PublishedState state); getter和setter只是标准的,并且是单向关系(在主题中没有书籍) 我想这一定是我如何设置注释的问题。有人知道我错了什么吗?我发现用@Fetch(FetchMode.SUBSELECT)注

我有一个项目正在使用Spring数据存储库自动生成它的一些方法。一个这样的方法是接受一对参数并返回一个图书列表的方法。在存储库中,该方法如下所示:

List<Book> findBySellerFlagTrueAndPublishedState(PublishedState state);
getter和setter只是标准的,并且是单向关系(在
主题中没有书籍)


我想这一定是我如何设置注释的问题。有人知道我错了什么吗?

我发现用
@Fetch(FetchMode.SUBSELECT)
注释主题实现了我的目标,但更好的解决方案是在hibernate属性中设置
hibernate.default\u batch\u Fetch\u size
。这样,我可以将它设置为某个数字(我选择了100),它将同时提高所有惰性和急切获取多个关系的性能

@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name="BOOK_THEME", 
joinColumns=@JoinColumn(name="BOOK_ID", referencedColumnName="BOOK_ID"),
inverseJoinColumns=@JoinColumn(name="THEME_ID", referencedColumnName="THEME_ID"))
@OrderColumn(name="THEME_SEQUENCE")
private List<Theme> themes;