我有两个拥有OneToMany关系的JPA实体。
系:
@Entity
public class Department {
@Id private int id;
private String name;
@OneToMany(fetch = LAZY, mappedBy = "department", cascade = { CascadeType.ALL }, orphanRemoval = true)
private Set<Employee> employees;
// ...
}
员工:
@Entity
public class Employee {
@Id private int id;
@ManyToOne
@JoinColumn(name="DEPT_ID")
private Department department;
// ...
}
现在我想获取员工姓名以'A'开头的所有部门,并且返回的集合应该只包含那些 符合标准的员工。
例如,如果A部门有5名员工,他们的名字是A,B,C,D,E,B部门有3名员工 其名称为A,AA,Z查询应该导致:
清单大小= 2。
Department A
id=1
name='A'
Set<Employee> size 1 with name 'A'
Department B
id=2
name='B'
Set<Employee> size 2 with name 'A' and 'AA'
如何使用JPQL实现此目的?
非常感谢任何帮助。
编辑:如果我想获取没有员工的部门怎么办?