首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >hibernate -从连接表中选择特定列

hibernate -从连接表中选择特定列
EN

Stack Overflow用户
提问于 2012-09-26 22:47:34
回答 1查看 645关注 0票数 0

我正在运行一个hql,它有一个正确的连接:

代码语言:javascript
运行
复制
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将其翻译成这样:

代码语言:javascript
运行
复制
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) ....

我希望hibernate从accounts表中获取account_id字段(在这里我可以拥有一个不在banks表中的帐户),而不是从banks表中获取。

有没有办法显式地告诉hibernate在连接表的哪一列上执行?

EN

回答 1

Stack Overflow用户

发布于 2012-09-26 23:18:49

格式设置有帮助...不管怎样..。

代码语言:javascript
运行
复制
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

不过就我个人而言,我会将其添加到连接条件中:

代码语言:javascript
运行
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12604406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档