gpt4 book ai didi

java - JPQL : result if Map<> contains specific or doesn't contain at all

转载 作者:行者123 更新时间:2023-11-29 19:12:28 25 4
gpt4 key购买 nike

我正在尝试编译一个查询,该查询将返回一个包含 Map<> 的实体。限制是该映射应该包含特定的键值对,或者根本不需要存在该键。

我有什么:

SELECT M FROM Metadata M left outer JOIN M.additionals A 
WHERE M.UUID = :uuid
AND M.versionVed = :versionVed
AND
KEY(A) = '" + Vedantas.SOFT_DEL + "'
AND VALUE(A) <> 'true'

这是需求的第一部分,因此如果该键根本不存在,它缺乏返回结果的逻辑。

有一些优雅的方法可以做到这一点吗?

谢谢

最佳答案

类似于:

"SELECT M FROM Metadata M where m.id not in (
select subMetadata.id from Metadata subMetadata JOIN M.additionals A where
KEY(A) = :key AND VALUE(A) <> :value)"

子查询返回的 ID 的键值与您要查找的值不匹配,从而可以从主查询中过滤掉它们。

关于java - JPQL : result if Map<> contains specific or doesn't contain at all,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42971362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com