Hibernate查询帮助

发布于 2024-11-06 04:44:23 字数 158 浏览 0 评论 0原文

我有一个与 ProductInventory 类具有一对多关系的产品类。对于特定的产品 ID,我有大约 300 个库存。

如果我想根据指定日期范围内的 ID 和库存获取产品,如何执行查询?

我可以使用 hql 或标准。但我不确定如何实现它,因为我是休眠的初学者。请帮忙。

I have a Product Class which has one-to-many relationship with ProductInventory Class. For a particular product id, I have around 300 inventory.

If I want to fetch a product based on its id and inventory withing a specified date range, how do i execute a query?

I can go with either hql or criteria..But I'm not sure how to implement it as i'm a beginner in hibernate. Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

誰ツ都不明白 2024-11-13 04:44:23

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...);
    }
}

HQL Example,

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...);
    }
}
往事风中埋 2024-11-13 04:44:23

我建议使用标准和日期范围,您可以使用

criteria.add(Restrictions.between(column_name, minValue,maxValue)).list();

更多参考访问这里

I will recommend to use criteria and for date range you can use

criteria.add(Restrictions.between(column_name, minValue,maxValue)).list();

For more reference visit here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文