我有一个名为 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);
最佳答案
JPQL没有“包含”表达。你可以试试这个查询:
@Query("select dev from Device dev join dev.authorizedDrivers d where d = ?1")
Set<Device> findDeviceByDriver(Driver driver);
关于java - Spring Data JPA 检查 SET 是否包含对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48404732/