HQL/SQL 'NOT AT ALL IN' 子句
HQL/SQL 'NOT AT ALL IN' clause
当我使用 Hibernate 查询时(如果你只知道 SQL 不要离开!):FROM Entity e WHERE 'USA' NOT IN e.addresses
它 returns 所有具有 [ 的实体=19=]AN 美国以外的地址,但我只想获取具有 NONE[=23= 的实体] 他们在美国的地址(在这个例子中)。
我如何在 HQL 中执行此操作(可能与 SQL 的问题类似,只是语法略有不同,如果你能向我解释它在 SQL 中的工作原理,我很可能将其理解为好吧,只是从未使用过 WHERE 'item' NOT IN (array) in SQL).
补充:请注意e.addresses是一个数组
我假设您的实体和地址之间存在一对多关系。您需要做的是首先找到地址在美国境内的实体,然后从实体总数中减去相同地址(也许使用 NOT IN?)。
如果您需要实际查询方面的帮助,可以在此处post table 结构
FROM Entity e2
WHERE e2.id NOT IN ( e1.id FROM Entity e as e1 WHERE 'USA' IN e1.addresses)
当我使用 Hibernate 查询时(如果你只知道 SQL 不要离开!):FROM Entity e WHERE 'USA' NOT IN e.addresses
它 returns 所有具有 [ 的实体=19=]AN 美国以外的地址,但我只想获取具有 NONE[=23= 的实体] 他们在美国的地址(在这个例子中)。
我如何在 HQL 中执行此操作(可能与 SQL 的问题类似,只是语法略有不同,如果你能向我解释它在 SQL 中的工作原理,我很可能将其理解为好吧,只是从未使用过 WHERE 'item' NOT IN (array) in SQL).
补充:请注意e.addresses是一个数组
我假设您的实体和地址之间存在一对多关系。您需要做的是首先找到地址在美国境内的实体,然后从实体总数中减去相同地址(也许使用 NOT IN?)。
如果您需要实际查询方面的帮助,可以在此处post table 结构
FROM Entity e2
WHERE e2.id NOT IN ( e1.id FROM Entity e as e1 WHERE 'USA' IN e1.addresses)