我的模型:
@Entity
class Person {
@Id
long id;
@OneToMany
Set<Employment> employments = new HashSet<Employment>();
}
@Entity
class Employment {
@Id
long id;
@ManyToOne
Company company;
Date from;
Date until;
}
Person
它是 a和 a之间的关联Company
,受时间间隔的限制。
我正在寻找一个 JPA 标准查询以Person
在给定时间选择所有 s 及其工作。
预期结果是List<Person>
包含所有employments
人员,其中每个人的集合Person
仅包含符合特定条件的就业(或根本不包含就业)。
@Where
不是一种明智的方法,因为就业的过滤标准是可变的,例如,我想在任何给定时间选择一个人的所有就业。
这甚至是合理的做法吗?任何建议如何以不同的方式做到这一点?