2011-05-17 42 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