Spring Data JPA如何检查一个SET是否包含某个对象

4
我有一个领域对象叫做Device,它有这个属性。
@ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.EAGER)
private Set<Driver> authorizedDrivers = new HashSet<>();

我想执行这个查询,但是出现了一个错误(antlr.NoViableAltException: unexpected AST node: ()

@Query("select dev from Device dev where dev.authorizedDrivers.contains(?1) ")
Set<Device> findDeviceByDriver(Driver driver);
1个回答

5

JPQL 没有 'contains' 表达式。你可以尝试使用以下查询:

@Query("select dev from Device dev join dev.authorizedDrivers d where d = ?1")
Set<Device> findDeviceByDriver(Driver driver);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接