は:あなたが見るかもしれませんがFetchTypes私は<code>Spring Data</code>を使用し、次のクエリを定義しています
@Query("SELECT u FROM AppUser u LEFT OUTER JOIN fetch u.userRights a LEFT OUTER JOIN fetch u.userGroups g LEFT OUTER JOIN fetch u.userGroups ug LEFT OUTER JOIN FETCH ug.groupRights where u.login = :login")
public Optional<AppUser> findOneWithCompleteRights(@Param("login") String login);
、私は彼のすべてのアクセス権を持つユーザーでログインして戻って取得したいです。私は次のようにチェックしている
Caused by: javax.persistence.PersistenceException: org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags
: Multiple fetches with EAGER type in Hibernate with JPA
私はjava.util.Set
にすべて@XXXToMany
タイプを変更した場合、それは動作しますが、私は私の上のタイプを決定したい春のアプリケーションを起動するが、それはに実行されます独自...
@Query
メソッドにアタッチされている場合、リンクされたソリューション(下を参照)の他の注釈は無視されるようです。とにかく、第二は意味をなさないでしょう。
- ロードは、各コレクションを個別にインデックス列
@IndexColumn(name="LIST_INDEX")
を追加することによって、代わりに、袋のリストの副選択@Fetch(FetchMode.SELECT)
Set
にタイプを設定するよりも、別の解決策を持っていますか?
[OK]を私はすでに私の質問でこの解決策を説明し、別の解決策があるかどうか尋ねた:) –