【发布时间】:2020-07-15 22:16:59
【问题描述】:
我有一个查询来检查集合是否不包含某些元素然后返回结果,但我想知道是否有更好的方法来使用本机 SQL 或 JPQL 编写它
@Query("from User u where ?1 not member of u.roles and ?2 not member of u.roles and ?3 not member of u.roles")
List<User> findAllByRolesIn(Role role1, Role role2, Role role3);
我尝试使用 Set 并将其作为参数传递以通过此操作进行检查
@Query("from User u where ?1 member of u.roles")
List<User> findAllByRolesIn(Set<Role> roles); // where the three roles are in the set
我也尝试使用in 和not in,但无法使用。
【问题讨论】:
标签: sql spring-boot jpa spring-data-jpa jpql