Я использую Spring для подключения к db. У меня есть расширение интерфейса CrudRepository<People, Long>
Вот запрос, который я хочу выполнить на db: SELECT DISTINCT name FROM people WHERE name NOT IN UserInputSet
. Я бы предпочел сделать это без каких-либо аннотаций sql, так что, если это возможно без NOT
, это прекрасно.
Есть ли способ сделать это? Я посмотрел на документ Spring, но ничего не могу найти (http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.query-methods.query-creation)
Это то, что я устал, но он не работает.
@Query("SELECT DISTINCT name FROM people WHERE name NOT IN (?1)")
List<String> findNonReferencedNames(List<String> names);
это исключение, которое я получаю:
Error creating bean with name 'peopleRepository': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List de.test.tasks.persistence.PeopleRepository.findNonReferencedNames(java.util.List)!
и
Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: people is not mapped [SELECT name FROM people WHERE name NOT IN (?1)]