Hibernate 如何在HQL where子句中使用派生属性
我有这样一个实体:Hibernate 如何在HQL where子句中使用派生属性,hibernate,hql,Hibernate,Hql,我有这样一个实体: public class Account{ private String code; @ManyToOne private Account ledgerAccount; public String getCode(){ return code; } public String getFullCode(){ return ledgerAccount.getCode()+code; }
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的属性,并对其进行如下注释:
public class Account{
private String code;
@ManyToOne
private Account ledgerAccount;
public String getCode(){
return code;
}
public String getFullCode(){
return ledgerAccount.getCode()+code;
}
}
@FormulaledgerAccount.code+代码
私有字符串完整码
并将getFullCode方法更改为:
public String getFullCode() {
return fullCode;
}
然后在HQL中:
select * from Account where fullCode = ?
如果您还没有,请查看更多示例。谢谢您的提示,使用此公式即可:@Formulaselect a.code | | code from Account a.id=ledgeraccount_id