我有一个案例是实体(Invoice)与一组其他实体(BankOperations)有一个ManyToMany关联,但是我希望按照某些标准过滤相关集合的元素:
class Invoice {
@ManyToMany
private Set<BankOperation> operations;
}
class BankOperation {
@ManyToOne
private Company company;
@ManyToMany
private Set<Invoice> invoices;
}
鉴于这两个实体,如果我使用这个JPQL:
select i from Invoice
然后我将获取数据库中的所有发票,每张发票将包含与之关联的所有BankOperations。
我想获取所有发票但仅包含属于特定公司的BankOperations,这可以通过JPA完成吗?我知道有Hibernate的过滤器,但这是特定于Hibernate的,并且在JPA标准中似乎没有类似的东西。此外,我们目前正在使用EclipseLink作为我们的JPA提供商,因此这对我们来说不起作用。