Como fazer uma query passando uma coleção como parâmetro? Ex:
public interface UsuarioRepository extends JpaRepository<Usuario, Long> {
@Query(Value="select u from Usuario u join u.grupos g where u.nome like :nome and u.grupos in (:grupos)")
public List<Usuario> findByNomeContainingAndInGruposIn(String nome, List<Grupo> grupos);
}
Muito obrigado funcionou . Porem como classe nao funciona. Somente passando uma lista de codigos. queria entender o porque.
[codigo] @Query(“select distinct u from Usuario u JOIN u.grupos g Where (u.nome like :nome) and (g.codigo in :grupos)”)
public List findByNomeContainingAndGruposIn(@Param(“nome”)String nome, @Param(“grupos”) List grupos)
[/codigo]
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘usuariosController’: Unsatisfied dependency expressed through field ‘cadastroUsuarioService’; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘cadastroUsuarioService’: Unsatisfied dependency expressed through field ‘usuarioRepository’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘usuarioRepository’: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List br.com.sysaluguel.repository.UsuarioRepository.findByNomeContainingInGrupos(java.lang.String,java.util.List)!
ele nao consegue fazer a injecao de dependencia. no controller por causa deste metodo. eu nao consigo entender, mas quando coloco List ao inves de List funciona.