我有一個使用Spring Data存儲庫的項目來自動生成一些方法。其中一種方法是接受幾個參數並返回書籍列表。在存儲庫中,該方法是這樣的:Spring Data JPA懶加載註釋爲Eager的集合
List<Book> findBySellerFlagTrueAndPublishedState(PublishedState state);
然而,當我使用該方法,好像休眠是被標註爲FetchType.EAGER書延遲加載特性。另外,當我使用JPA的Criteriabuilder自己構建查詢時,我遇到了同樣的問題。當我使用默認的findOne(Long id)
方法時,這些屬性被急切加載。
我正在使用JPA 2.0,並使用Hibernate作爲實現。
這裏是我的註解,我有這個問題關係之一:
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name="BOOK_THEME",
[email protected](name="BOOK_ID", referencedColumnName="BOOK_ID"),
[email protected](name="THEME_ID", referencedColumnName="THEME_ID"))
@OrderColumn(name="THEME_SEQUENCE")
private List<Theme> themes;
的getter和setter方法只是標準,而這是一個單向關係(有沒有書Theme
)。
我認爲這應該是我如何設置註釋的問題。有誰知道我錯了什麼?