【发布时间】:2014-01-27 15:05:06
【问题描述】:
我想编写一个检索以下内容的查询:
- 不包含联系人的客户
-
包含联系人的客户端,但仅包含状态为“AC”的联系人实体
从客户端客户端中选择客户端 LEFT JOIN FETCH client.contacts contact WHERE (client.contacts IS EMPTY OR (client.contacts IS NOT EMPTY AND contact.status = 'AC'))
此查询仅返回没有联系人的我的客户或只有活动联系人的客户。 有人可以帮帮我吗?
我正在使用 JPA1。我无法切换到 JPA2。 它还需要是 JPA1 查询。
当我的数据库中有以下数据时:
- 客户端 1 --> 联系人:联系人 1 状态为 AC,联系人 2 状态为 AR
- 客户端 2 --> 联系人:联系人 3 状态为 AR,联系人 4 状态为 AR
- 客户端 3 --> 联系人:状态为 AC 的联系人 5,状态为 AC 的联系人 6
我想找回
- 只有联系人 1 的客户 1
- 没有任何联系人的客户 2
- 客户 3 与联系人 5 和 6
【问题讨论】: