Как получить вычисленное значение с помощью Spring JPA - PullRequest
0 голосов
/ 28 апреля 2020

Это моя текущая реализация

@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 сделает это, но не может найти правильный способ сделать это. Помощь будет оценена.

...