如何解决休眠-HQL在许多子句上联接
| 我一直在阅读Hibernate文档,但没有找到任何可以解释如何执行以下操作的内容。 我尝试将以下SQL代码转换为HQL:SELECT {msg.*},{cmd.*}
FROM Schema.Messages AS msg
LEFT OUTER JOIN schema.send_commands AS cmd
ON cmd.message_key = msg.unique_key
AND ( lower(cmd.status) IN (lower(\'failed\') ) )
WHERE msg.sequence_received < 10\";
我遇到的主要问题是我无法在LEFT OUTER JOIN上有两个子句。 HQL让我拥有
ON cmd.message_key = msg.unique_key
,但是如何添加
AND clause 2?
解决方法
您可以使用
with
关键字添加额外的加入条件,如下所示(取决于您的映射):
SELECT m,c
FROM Message m LEFT JOIN m.commands c WITH (lower(c.status) = \'failed\')
WHERE m.sequenceReceived < 10
也可以看看:
16.3。协会和加盟
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。