适用于多对多关系中没有项目的实体的 JPQL

发布于 2024-08-06 16:15:52 字数 336 浏览 3 评论 0原文

简单的 JPA/JPQL 问题。我有一个具有多对多关系的实体:

@Entity
public class Employee {      
  @ManyToMany
  @JoinTablename="employee_project"
      joinColumns={@JoinColumn(name="employee_id"}
      inverseJoinColumns={@JoinColumn(name="project_id"})
  private List<Project> projects;

返回所有没有任何项目的员工的 JPQL 查询是什么?

Simple JPA/JPQL question. I have an entity with a ManyToMany relationship:

@Entity
public class Employee {      
  @ManyToMany
  @JoinTablename="employee_project"
      joinColumns={@JoinColumn(name="employee_id"}
      inverseJoinColumns={@JoinColumn(name="project_id"})
  private List<Project> projects;

What is the JPQL query to return all the Employees that do not have any projects?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浊酒尽余欢 2024-08-13 16:15:52
from Employee e where not exists elements(e.projects)

或者

from Employee e where size(e.projects) = 0
from Employee e where not exists elements(e.projects)

or

from Employee e where size(e.projects) = 0
只为一人 2024-08-13 16:15:52

JQPL 确实有专用的 IS [NOT] EMPTY 比较运算符来检查集合是否为空:

SELECT e FROM Employee e WHERE e.projects IS EMPTY

JQPL does have dedicated IS [NOT] EMPTY comparison operator for checking is collection empty:

SELECT e FROM Employee e WHERE e.projects IS EMPTY
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文