Spring 数据 JPA 检查 SET 是否包含对象
Spring Data JPA check if a SET contains an object
我有一个名为 Device 的域对象 属性
@ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.EAGER)
private Set<Driver> authorizedDrivers = new HashSet<>();
我想进行此查询,但出现错误 (antlr.NoViableAltException: 意外的 AST 节点: ()
@Query("select dev from Device dev where dev.authorizedDrivers.contains(?1) ")
Set<Device> findDeviceByDriver(Driver driver);
JPQL 没有 'contains' 表达式。您可以试试这个查询:
@Query("select dev from Device dev join dev.authorizedDrivers d where d = ?1")
Set<Device> findDeviceByDriver(Driver driver);
我有一个名为 Device 的域对象 属性
@ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.EAGER)
private Set<Driver> authorizedDrivers = new HashSet<>();
我想进行此查询,但出现错误 (antlr.NoViableAltException: 意外的 AST 节点: ()
@Query("select dev from Device dev where dev.authorizedDrivers.contains(?1) ")
Set<Device> findDeviceByDriver(Driver driver);
JPQL 没有 'contains' 表达式。您可以试试这个查询:
@Query("select dev from Device dev join dev.authorizedDrivers d where d = ?1")
Set<Device> findDeviceByDriver(Driver driver);