MySQL 쿼리를 JPA로 변환하려고합니다.MySQL을 JPA로 변환
MySQL5와 EclipseLink 2.4.2를 사용하고 있습니다.
SELECT s.id, s.startDate, CAST(GROUP_CONCAT(DISTINCT s.endDate ORDER BY s.date DESC) AS DATE) endDate
FROM table_s s
WHERE ...
GROUP BY s.id, s.startDate
id
및 date
가 기본 키입니다
다음은 MySQL의 쿼리입니다. 그것들은 JPA에서 embeddable id로 표현되고 엔티티에서도 필드를 읽을 수 있습니다 (insertable/updatable = false).
다음은 JPA 쿼리의 :
SELECT s.id, s.startDate, SQL('CAST(GROUP_CONCAT(DISTINCT ? ORDER BY ? DESC) AS DATE)', s.endDate, s.date) AS endDate
FROM EntityS s
WHERE ...
GROUP BY s.id, s.startDate
현재의 문제는 생성 된 SQL 쿼리 내가 모르는 이유 s.startDate
을 포함하지 않습니다.
간단히 코드를 SELECT s.id, s.startDate, s.endDate
으로 변경하면 작동하지만 ... 마지막으로 endDate
을 가져와야합니다.
나는 MAX(s.endDate)
을 시도했지만 실제로는 (그것이 현재 작동하더라도, 그것은 정확하지 그리고 잘못된 결과를 보낼 수 있습니다) 누군가가 아이디어 나 솔루션을 가지고있는 경우
것은, 내가 기뻐할 것을 마지막 값을 제공하지 않습니다 .