【发布时间】:2011-05-17 10:07:22
【问题描述】:
我的实体是 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");
例如。假设旅行开始日期是 1 月 20 日,旅行结束日期是 1 月 21 日。我这里只有两条记录,非常完美。
但在我返回其他层后,如果我说 product.getInventory() 它会获取所有库存,而不管日期。
有人可以解决这个问题吗?
【问题讨论】:
-
请格式化您的代码。上面的代码甚至不会编译。
-
肖恩,现在格式化了。看看吧