0
엔티티가 있고 인터페이스가 JpaRepository<MyEntity, Long>
인 DAO가 있습니다. EclipseLink 사용.스프링 데이터 JPA - MySQL에서 findAll을 사용할 때의 예외
Iterable<MyEntity> findAll(Iterable<Long> ids);
이런 식으로 : 나는 MySQL의 예외를 가지고
List<Long> listOfIds = Arrays.asList(new Long[] {1,2,3});
Iterable<MyEntity> entities = dao.findAll(listOfIds);
:
java.sql.SQLException: Operand should contain 1 column(s)
는 SQL
나는 DAO에서 다음과 같은 방법을 사용하고 있습니다 데이터베이스에서 실행되는 쿼리의 구문은 다음과 같습니다.
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))
스프링 데이터가 이러한 불필요한 중괄호를 추가하는 이유는 무엇입니까? 그것을 고치는 어떤 방법?
'MyEntity' 클래스 코드 +'listOfIds'의 선언을 게시하십시오 – alfasin
제공된'listOfIds'의 예제 선언문을 수정하십시오. 엔티티는'@ Entity'로 주석 처리 된 POJO입니다. – fracz
어떤 OR 매퍼를 사용합니까? –