4

I have a domain object called Device with this property

@ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.EAGER)
private Set<Driver> authorizedDrivers = new HashSet<>();

I would like to make this query, but I got an error (antlr.NoViableAltException: unexpected AST node: ()

@Query("select dev from Device dev where dev.authorizedDrivers.contains(?1) ")
Set<Device> findDeviceByDriver(Driver driver);
Nuñito Calzada
  • 4,394
  • 47
  • 174
  • 301

1 Answers1

5

JPQL does not have 'contains' expression. You can try this query:

@Query("select dev from Device dev join dev.authorizedDrivers d where d = ?1")
Set<Device> findDeviceByDriver(Driver driver);
Cepr0
  • 28,144
  • 8
  • 75
  • 101