Cats with Ownersの右外部結合を行っていますが、結果として所有者のリストを取得するにはどうすればよいですか?
Criteria criteria = session.createCriteria(Cats.class);
List<Owners> list= criteria.createCriteria("owner",JoinType.RIGHT_OUTER_JOIN);
猫の飼い主は1匹ですが、飼い主はたくさんの猫を飼うことができます。
編集:
その理由は、より多くの関係に基づいて基準に制限を追加できるようにするためです。これについて詳しく説明します。
Criteria criteria = session.createCriteria(Cats.class);
criteria.add(Restrictions.or(Restrictions.isNull("breed.pkBreed")).add(Restrictions.ne(breed.desc,"Egyptian cat")));
List<Owners> list= criteria.createCriteria("owner",JoinType.RIGHT_OUTER_JOIN);
この場合、私はすべての非エジプトの猫の飼い主と、現在品種が割り当てられていないすべての猫の飼い主を取得しています。これは私の正確なシナリオですが、データが異なります。
奇妙に聞こえるかもしれませんが、これは私の要件に対する正確なクエリです。
また、リストデータを変換しなくても、何が含まれているのかわからないので、繰り返し処理できます...