У меня следующий запрос MySQL. Я пробовал проекцию интерфейса в данных весны jpa, но идентификатор поля проекции UUID. Так что это не отображается в проекции интерфейса. Поэтому я хочу попробовать проекцию POJO, но она не работает.
SELECT
f.receiver_user_id, f.modified_at, f.text
FROM
(SELECT
receiver_user_id, MAX(modified_at) AS modified_at
FROM
text_log
GROUP BY receiver_user_id) AS x
INNER JOIN
text_log AS f ON f.receiver_user_id = x.receiver_user_id
AND f.modified_at = x.modified_at
ORDER BY f.modified_at DESC;
Также было бы полезно, если бы было предложено использовать реализацию построителя критериев JPA для вышеуказанного запроса.
Я пытался следующая реализация запроса данных хранилища данных JPA
@Query(value = "SELECT " +
"f.receiver_user_id as receiverUserId, f.modified_at as modifiedAt, f.text as text" +
"FROM " +
" (SELECT " +
" receiver_user_id, MAX(modified_at) AS modified_at " +
" FROM " +
" text_log " +
" GROUP BY receiver_user_id) AS x " +
" INNER JOIN " +
" text_log AS f ON f.receiver_user_id = x.receiver_user_id " +
" AND f.modified_at = x.modified_at " +
"ORDER BY f.modified_at DESC limit ?1 offset ?2 ",
nativeQuery = true)
List<ITextLog> findTextLog(int l , int f);
public interface ITextLog {
public UUID getReceiverUserId();
public Date getModifiedAt();
public String getText();
}