gpt4 book ai didi

java - 根据实体列表查找实体

转载 作者:行者123 更新时间:2023-11-30 11:55:39 25 4
gpt4 key购买 nike

假设我们有 Group -> Member (ManyToMany)

对于一组给定的成员 - 查找是否为这些成员创建了一个组的最实用方法是什么? (没有增加或缺席的成员)

这感觉不对,因为组似乎是由它的状态定义的,但系统要求我们只能为特定的成员组合(包括顺序!)设置一个组

编辑:

我正在寻找一种使用 JPA 来完成此操作的方法 - 所以 Set.retainAll 似乎不适用。

我的意思是,这将是完美的:

List<Member> members;

... // members gets assigned

TypedQuery<Group> query = entityManager.createQuery("select g from Group g where g.members = ?", Group.class)

query.setParameter(1, members);

Group group = query.getSingleResult();

当然不是这样的。考虑最糟糕的实现

List<Group> groups = entityManager.createQuery("select g from Group g", Group.class).getResultList();

for (Group g: groups) {
if (g.getMembers().equals(members)) {
return g;
}
}

这两者之间的某处一定是我所缺少的东西。

最佳答案

您可以对您的两个集合尝试 Set.removeAll()Set.retainAll()

关于java - 根据实体列表查找实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4893037/

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