如何在HQL where子句中使用派生属性



我有一个这样的实体:

public class Account{
    private String code;
    @ManyToOne
    private Account ledgerAccount;

    public String getCode(){
        return code;
    }
    public String getFullCode(){
        return ledgerAccount.getCode()+code;
    }
}

所以,fullCode是一个派生属性,我想在我的hql查询中使用它,我如何才能实现这一点?

在模型中创建一个名为fullCode的属性,并像这样注释它:

@ formula("ledgerAccount.code +代码")private String fullCode;

并将getFullCode()方法更改为:

public String getFullCode() {
    return fullCode;
} 

然后在HQL中:

select * from Account where fullCode = ?

如果您还没有,请查看此页以获取更多示例。

最新更新