Ограничение страстного желания Hibernate за пределами DAO - PullRequest
0 голосов
/ 17 мая 2011

У меня есть сущности ProductType, Product и ProductInventory.

У меня есть запрос на соединение, чтобы получить список ресурсов для определенного диапазона дат, который объединяет Product и ProductInventory.У меня есть список массивов объектов, которые я отлил и настроил.

Теперь из DAO я возвращаю список продуктов.

На моем слое выше, если я выполню product.getProductInventory() фактически он снова запускает запрос, получая весь инвентарь, а не тот инвентарь, который был получен объединением.

    final StringBuilder queryString = new StringBuilder(
                "from  Product As  rsProduct left outer join rsProduct.inventoryList "
                + "as inventory where rsProduct.efDate <= :travelEndDate AND rsProduct.expDate >= :travelStartDate AND rsProduct.locatiion = :LOCN AND rsProduct.id in (:productsIdList) and inventory.bookDate between :startDate and :endDate");

Пример.Скажем, дата начала путешествия - 20 января, а дата окончания путешествия - 21 января. Здесь я получаю только две записи, что идеально.

Но после того, как я вернусь на другой слой, если я скажу product.getInventory (), он получит всеИнвентаризация независимо от даты.

Может кто-нибудь решить эту проблему?

1 Ответ

1 голос
/ 17 мая 2011

Вы должны определить фильтр и включить его перед доступом к коллекции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...