过滤JPA集合关联

时间:2017-01-16 06:27:47

标签: java jpa jpa-2.0 jpql criteria-api

我有一个案例是实体(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提供商,因此这对我们来说不起作用。

0 个答案:

没有答案