【问题标题】:HQL one to many relationship?HQL 一对多关系?
【发布时间】:2016-09-01 11:37:54
【问题描述】:

在我的应用程序中,我有@OneToMany Hibernate 关系如下

public class Lot {

    @OneToMany (cascade = CascadeType.ALL, orphanRemoval = true)
    private List<ProductAvailable> productAvailable;

}

public class ProductAvailable {

    private String productName;
    private double netAmount;

}

问题:我想检索Lot 对象列表,其中每个Lot 对象必须具有所有对应ProductAvailable 对象的netAmount 总和?

检索预期手数列表的 HQL 查询应该是什么?

【问题讨论】:

    标签: hibernate hql


    【解决方案1】:

    只是一个建议,如果您为实体类使用 groovy 对象会很容易。 Groovy 闭包为此类问题提供了简单的解决方案并节省了代码行数。

    如果 Lot 和 ProductAvailable 是 groovy 对象,那么

    public double getTotalAmount(){
        return productAvailable.sum { it.getNetAmount() }
    }
    

    在 Lot 实例上调用此方法将为您提供该批次中所有可用产品的 netAmount 总和。也让您免于编写 HQL 查询

    【讨论】:

    • 谢谢@Mrunal,但我对groovy一点也不熟悉!
    猜你喜欢
    • 2015-03-31
    • 2015-02-16
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    相关资源
    最近更新 更多