2011-05-17 47 views
0

我有我的實體作爲ProductType,Product和ProductInventory。限制hibernate的超越DAO的渴望獲取

我有一個連接查詢來獲取特定日期範圍的庫存清單,這個庫存清單連接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"); 

Ex。說旅行開始日期是1月20日和旅行結束日期是1月21日。我在這裏只有兩個記錄是完美的。

但是,在我回到其他層後,如果我說product.getInventory()它會提取所有庫存而不考慮日期。

有人可以解決這個問題嗎?

+0

請格式化您的代碼。上面的代碼甚至不會編譯。 – 2011-05-17 10:17:54

+0

肖恩,現在格式化了。看看 – Sripaul 2011-05-17 10:33:30

回答

1

您應該定義一個filter並在訪問該集合之前啓用它。

+0

非常感謝。我現在正在經歷它。 – Sripaul 2011-05-18 13:23:08

+1

沒問題。很高興我能幫上忙。 – iruediger 2011-05-18 18:04:31