Это моя текущая реализация
@Query(value = "SELECT NEW, ID, NAME, MASS_OUTPUT, TEMPERATURE, WATER_OUTPUT, CREATED_DATE, CREATED_USER, MODIFIED_DATE, MODIFIED_USER, PRESSURE_PROFILE_ID, PRESSURE_PROFILE_PRESET_ID,RECIPE_ID,USER_ID FROM \r\n" +
"(\r\n" +
"(SELECT 1 as Rank, true as NEW, ID, NAME, MASS_OUTPUT, TEMPERATURE, WATER_OUTPUT, CREATED_DATE, CREATED_USER, MODIFIED_DATE, MODIFIED_USER, PRESSURE_PROFILE_ID, PRESSURE_PROFILE_PRESET_ID \r\n" +
"FROM RECIPE \r\n" +
"where CREATED_DATE > NOW() - INTERVAL 1 DAY)\r\n" +
"UNION ALL\r\n" +
"(SELECT 2 as Rank, false as NEW, ID, NAME, MASS_OUTPUT, TEMPERATURE, WATER_OUTPUT, CREATED_DATE, CREATED_USER, MODIFIED_DATE, MODIFIED_USER, PRESSURE_PROFILE_ID, PRESSURE_PROFILE_PRESET_ID \r\n" +
"FROM RECIPE \r\n" +
"where CREATED_DATE < NOW() - INTERVAL 1 DAY)\r\n" +
") \r\n" +
"AS A JOIN USER_RECIPE AS B ON ID=RECIPE_ID where B.USER_ID= ?1",
countQuery = "SELECT count(*) FROM USER_RECIPE WHERE USER_ID = ?1",
nativeQuery = true)
List<UserRecipe> getAllUserRecipesWithPagination(String userId, Pageable sortedByField);
Игнорировать длинный запрос. С помощью этого запроса я пытаюсь сначала извлечь самый новый элемент (записи младше 1 дня)
«NEW» не является атрибутом в объекте UserRecipe. Я собираюсь использовать NEW для определения новейших элементов.
Я надеюсь, что пользователь @Transient сделает это, но не может найти правильный способ сделать это. Помощь будет оценена.