JPA CriteriaBuilder与实体/对象的集合操作

时间:2017-04-23 23:06:22

标签: java hibernate jpa jpa-criteria

我使用JPA CriteriaBuilder api生成查询,我有以下几组bean:

  • 艺术家(包含名称,性别,地址等艺术家数据)
  • 角色(包含角色ID,角色类型,角色描述等艺术家所扮演的角色)

艺术家可以扮演不同的角色,因此它是一对多的关系,而不是艺术家&角色实体。我想使用criteriabuilder编写一个查询来获取所有未扮演" HERO":

的角色的艺术家

我发现criteriabuilder api提供了处理集合的函数,例如:

<E,C extends Collection<E>> Predicate isNotMember(Expression<E> elem,
                                              Expression<C> collection)

但是,我在互联网上找到的这些函数的例子主要是使用字符串集合。正如本网站上给出的那样(http://www.objectdb.com/java/jpa/query/jpql/collection)检查语言集合是否包含法语:

Predicate m4 = cb.isNotMember("French", languages);

我如何使用相同的功能&#34; isNotMember&#34;使用实体来获取所有没有角色类型的艺术家作为HERO?

0 个答案:

没有答案