У меня есть сущность и DAO с интерфейсом JpaRepository<MyEntity, Long>
. Использование EclipseLink.Spring Data JPA - исключение при использовании findAll с MySQL
Я использую следующий метод из DAO:
Iterable<MyEntity> findAll(Iterable<Long> ids);
таким образом:
List<Long> listOfIds = Arrays.asList(new Long[] {1,2,3});
Iterable<MyEntity> entities = dao.findAll(listOfIds);
Я получил исключение MySQL:
java.sql.SQLException: Operand should contain 1 column(s)
SQL, запрос, который выполняется в базе данных, имеет следующий синтаксис:
SELECT id, creation_date, column1, column2 FROM my_entity WHERE (id IN ((1,2,3)))
Проблема в последних фигурных скобках - их слишком много. Рабочий запрос:
SELECT id, creation_date, column1, column2 FROM my_entity WHERE (id IN (1,2,3))
Любая причина, по которой данные Spring добавляют эти ненужные брекеты? Любой способ исправить это?
Просьба указать код класса 'MyEntity' + объявление' listOfIds' – alfasin
Приведенное объявление класса 'listOfIds' в редакторе. Объект представляет собой POJO, аннотированный с помощью '@ Entity'. – fracz
Какой OR mapper вы используете? –