gpt4 book ai didi

java - 如何在列表的所有元素中选择位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:08:04 24 4
gpt4 key购买 nike

我有一个实体 Entry 具有以下关系:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@ManyToMany(mappedBy = "entryList", cascade = {CascadeType.ALL} )
private List<Tag> tags = new LinkedList<>();

此 SELECT 语句选择所有 Entry,其中 tags 至少是列表 list 中的 one 元素>:

SELECT m FROM Entry m JOIN m.tags tags WHERE tags IN :list;

但我想要的是一个 SELECT 语句来选择所有 Entry,其中 listall 元素必须与 tags< 相关?

最佳答案

我认为你需要使用子查询和计数,

Select e from Entry e where (Select count(t) from Tag t, Entry e2 join e2.tags t2 where t2 = t and e = e2 and t.id in (:ids)) = :size

其中 ids 是标签的 ID(您也可以使用对象),而 :size 是标签集合的大小。

如果你的标签有一个反向的 m-m 到你可以使用的条目,

Select e from Entry e where (Select count(t) from Tag t join t.entries e2 where e = e2 and t.id in (:ids)) = :size

关于java - 如何在列表的所有元素中选择位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18482243/

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