我有一个与ProductInventory Class有一对多关系的Product Class。对于特定的产品ID,我有大约300个库存。
如果我想根据具有指定日期范围的ID和广告资源来获取产品,我该如何执行查询?
我可以使用hql或criteria ..但我不知道如何实现它,因为我是hibernate的初学者。请帮忙。
答案 0 :(得分:1)
HQL示例,
String hql = "FROM Product p WHERE p.id = :id AND p.inventory.date BETWEEN :date1 AND :date2";
Query query = session.createQuery(hql);
query.setParameter("id", id);
query.setParameter("date1", date1);
query.setParameter("date2", date2);
List<Product> products = query.list();
for(Product product : products) {
System.out.println(product.getId() + "...");
List<ProductInventory> inventories = product.getProductInventory();
for(ProductInventory inventory : inventories) {
System.out.println(inventory.get...);
}
}
答案 1 :(得分:0)
我建议您使用标准和日期范围
criteria.add(Restrictions.between(column_name, minValue,maxValue)).list();
有关详情,请参阅visit here