hibernate-从联接表中选择特定列

hibernate-从联接表中选择特定列,hibernate,Hibernate,我正在运行一个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 从银行选择总和(banks.money)右键加入banks.account where banks.accou

我正在运行一个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
从银行选择总和(banks.money)右键加入banks.account where banks.account=:account和(banks.date<:date或banks.date为空)按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) ....
select sum(banks.money)from banks右键联接banks.account\u id=accounts.account\u id其中banks.account\u id=someId和(banks.date
我希望hibernate从accounts表(其中我可以有一个不在banks表中的帐户)而不是banks表中获取account_id字段


有没有办法明确地告诉hibernate在联接表的哪一列上执行?

格式化有助于。。。无论如何

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
选择金额(banks.money)
来自银行
右键加入银行帐户
其中acct=:account
和(banks.date<:date或banks.date为空)
按银行分组。账户,银行。日期
虽然就我个人而言,我会将其添加到加入条件中:

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
选择金额(banks.money)
来自银行
右键加入银行帐户
使用acct.id=:accountId
其中banks.date<:date
或银行。日期为空
按银行分组。账户,银行。日期
在这两种情况下,请特别注意指定给关联的别名及其用作限定符的用法