У меня есть несколько OneToMany
дочерних коллекций в моих классах доменов, которые со временем могут вырасти до сотен или (очень вероятно) тысяч экземпляров. Однако зачастую единственное, что действительно нужно родителю, - это «первый» ребенок, «последний» ребенок или «самый большой» ребенок. Представление родительского экземпляра в цикле через большую коллекцию объектов, загруженных из базы данных, кажется неэффективным.
С другой стороны, я не хочу загрязнять мою модель домена проблемами постоянства и начинаю использовать мои DAO в классах домена для выполнения запросов.
Я мог бы потенциально поместить эти поиски в свои методы обслуживания, но я действительно предпочитаю помещать этот логин в мой домен, где он принадлежит - пытаясь избежать анти-паттерна "анемичный домен".
Есть ли способ извлечь просто «определенный» объект из большой коллекции без прямого вызова DAO? Какие-то возможности отображения JPA ORM, которые я упустил?
Редактировать: Приложение разработано в слоях со слоем модели предметной области внизу - это не зависит ни от чего. Рядом с ним находится уровень постоянства, который реализует DAO и зависит от уровня домена. Над обоими из них находится сервисный уровень, который я стараюсь поддерживать как можно более тонким, проталкивая бизнес-логику вниз на доменный уровень.