Сейчас у меня есть:
Получение List<Town>
со всеми окрестностями и т. Д.:
(Town) em.createQuery(from Town towns"
+ " left join fetch towns.neighborhoods neighborhood"
+ " left join fetch neighborhood.population population"
+ " left join fetch population.age age"
+ " where age.value = :ageValue")
.setParameter("ageValue", ageValue)
Я хочу получить List<Town>
только с одним соседним окружением, которое является первым в neighborhood.creationDate
.
Как я могу это сделать?
Я не хочу получать их все и удалять.
Спасибо.
Я предлагаю добавить подзапрос в clausule, что-то вроде этого:
where age.value = :ageValue
AND neighborhood.creationDate =
(Select max(nh.creationDate) From Neighborhood nh
where nh.townsId = towns.townsId)