2012-09-26 39 views
0

我运行一个HQL,与右连接:休眠 - 选择从连接表的特定列

select sum(banks.money) from banks right join banks.account where banks.account = :account and (banks.date < :date or banks.date is null) group by banks.account, banks.date 

休眠其转换为类似的东西:我想Hibernate来

select sum(banks.money) from banks right join accounts on banks.account_id = accounts.account_id where banks.account_id = someId and (banks.date < someDate or banks.date is null) .... 

从账户表(我可以拥有一个不在银行表中的账户)中的account_id字段,而不是从银行表中获取。

有什么办法明确告诉hibernate连接表执行哪一列?在这两种情况下

select sum(banks.money) 
from banks 
    right join banks.account acct 
     with acct.id = :accountId 
where banks.date < :date 
    or banks.date is null 
group by banks.account, banks.date 

,特别注意给予别名:

回答

0

格式帮助...反正...

select sum(banks.money) 
from banks 
    right join banks.account acct 
where acct = :account 
    and (banks.date < :date or banks.date is null) 
group by banks.account, banks.date 

虽然就个人而言,我将它添加到加盟条件加入协会并将其用作限定词

+0

完美工作 非常感谢 – yaarix