HQL / SQL'并非全部进入'条款

时间:2017-01-21 11:49:56

标签: sql hibernate hql

当我使用Hibernate查询时(如果你只知道SQL还没有离开!):FROM Entity e WHERE 'USA' NOT IN e.addresses它返回所有 AN 在美国以外的地址,但我想只获得在美国拥有 NONE 地址的实体(在此示例中)。

我如何在HQL中执行此操作(可能与SQL类似的问题只是略有不同的语法,如果您可以向我解释它在SQL中是如何工作的,我很可能会理解它也只是从未使用过WHERE' item& #39;在SQL中不是(数组)。

补充:请注意e.addresses是一个数组

1 个答案:

答案 0 :(得分:1)

我假设您的实体和地址之间存在一对多的关系。你需要做的是首先在美国境内找到具有地址的实体,然后从实体总数中减去相同的数字(使用NOT IN可能?)。

如果您需要实际查询的帮助,可以在此处发布表格结构

FROM Entity e2
WHERE e2.id NOT IN ( e1.id FROM Entity e as e1 WHERE 'USA' IN e1.addresses)