У меня есть один person
стол. A person
может иметь несколько kids
, которые также являются лицами. Таким образом, между персональной таблицей существует соотношение между людьми.Hibernate критерии один-ко многим отличный результат
Я хочу получить всех лиц, имеющих хотя бы одного сына (sex=male)
. Я делаю это по следующим критериям:
List personsWithSon = sess.createCriteria(Person.class)
.createAlias("kids", "k")
.add(Restrictions.eq("k.sex", "male"))
.list();
Это прекрасно, если есть только один сын. Если есть, например, три сына, человек возвращается три раза. Но мне просто нужен человек один раз. Как я могу отличить результат?
Спасибо! Это сделал трюк. Раньше я работал с «Projections.distinct», но это, казалось, ничего хорошего не принесло и привело к ошибкам. – ddawg