2016-03-22 14 views
0

問題: マスターでページ付けを行い、すべての子を(マスターごとに)取得する方法は?Hibernate onetomany Pagination-on-Master BasicType-ElementCollection-Children

hibernateクエリは、ページされる一意のマスターレコードのリストを返し、各マスターエンティティにすべての子(基本型String)を含める必要があります。

ElementCollection を介してマスターをエンティティおよび子の基本タイプ(String)として定義してみましたが、クエリが重複したマスターエンティティを返すため、マスターでページ変更できません。しかし、私がフェッチLazyを使用するとき私は私が期待するものを得ることができます:)

eager fetchを使用して達成できませんか? これを達成する最も良い方法は何ですか?

事前に感謝

+0

問題に関するご意見はありますか? – Gokula

+0

ページ区切りオフセットは、ElementCollection Basic Typeを介してParentおよびChildrenのデカルト積に適用され、親エンティティには適用されません。 – Gokula

答えて

0

基準基準=のgetSession()。のcreateCriteria(Parent.class) .setMaxResults(カウント) .setFirstResult(スタート) .setFetchMode( "children1"、FetchMode.SELECT) 。 setFetchMode( "children2"、FetchMode.SELECT) .setFetchMode( "children3"、FetchMode.SELECT) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

return criteria.list(); 
関連する問題