gpt4 book ai didi

java - 过滤请求JPQL(查找列表中不包含具有特定id的元素的条目)

转载 作者:行者123 更新时间:2023-12-01 16:51:16 26 4
gpt4 key购买 nike

下午好,我正在尝试对数据采样进行正确的查询,但显然我不知道什么((

我需要显示未包含在具有给定 ID 的项目团队中的用户

我的请求部分有效:它过滤用户,但如果用户在另一个项目的另一个命令中,则条件不满足((

@Query("select distinct u from User u " +
"left join u.userTeams uTeams " +
"where u.userTeams is empty or uTeams.teamProject.projectId <> :projectId")
List<User> findAllNotAddedToProject(@Param("projectId") Long project);

截图显示该用户有两个不同项目的团队,所以我需要找不到这个用户,因为其中一个团队被分配到该项目,而第二个则没有(请求通过第二个命令找到它) )

enter image description here

我的数据库架构:

enter image description here

最佳答案

使用类似下面的内容

@Query("select u from User u where not exists (" +
"select 1 from Team t join t.users sub " +
"where sub.id = u.id empty and t.teamProject.projectId = :projectId)")
List<User> findAllNotAddedToProject(@Param("projectId") Long project);

关于java - 过滤请求JPQL(查找列表中不包含具有特定id的元素的条目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61682153/

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