限制hibernate在DAO之外的渴望获取

时间:2011-05-17 10:07:23

标签: java hibernate hql

我的实体是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(),则无论日期如何都会获取所有广告资源。

有人可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您应该定义filter并在访问集合之前启用它。