@Query("""
SELECT
new path.to.CustomObject(
t,
(select id from users where name = :param1)
(select id from departments where name IN (:param2))
)
FROM timesheets t
WHERE status = :param3
)
Page getAll(
@Param("param1") String param1,
@Param("param2") List param2,
@Param("param3") String param3,
Pageable pageable
)
< /code>
Когда я запускаю запрос с помощью страниц по умолчанию (size = 10, page = 0), регистратор будет печатать: < /p>
o.s.d.j.r.q.QueryParameterSetter$ErrorHandling: Silently ignoring
java.lang.IllegalArgumentException: Could not locate named parameter [param1], expecting one of [param3]
java.lang.IllegalArgumentException: Could not locate named parameter [param2], expecting one of [param3]
< /code>
Но запрос работает очень хорошо и вернет мне правильные значения, включая те, которые из подразделений.
Если я запускаю один и тот же запрос с большим размером страницы (размер 30, Page = 0), запрос все еще работает нормально и без ошибок.
Если я добавляю простое условие, например: < /p>
[...]
FROM timesheets t
WHERE status = :param3
AND :param1 = :param1
AND :param2 = :param2
Ошибка поднимет только для param2 , потому что это список. Похоже, что параметры, используемые внутри подпровода, игнорируются, но я не могу понять, почему этот простой трюк не работает для списков.>
Я запускаю JPA не родной запрос, который возвращает пользовательский объект. < /p> [code]@Query(""" SELECT new path.to.CustomObject( t, (select id from users where name = :param1) (select id from departments where name IN (:param2)) ) FROM timesheets t WHERE status = :param3 ) Page getAll( @Param("param1") String param1, @Param("param2") List param2, @Param("param3") String param3, Pageable pageable ) < /code> Когда я запускаю запрос с помощью страниц по умолчанию (size = 10, page = 0), регистратор будет печатать: < /p> o.s.d.j.r.q.QueryParameterSetter$ErrorHandling: Silently ignoring java.lang.IllegalArgumentException: Could not locate named parameter [param1], expecting one of [param3] java.lang.IllegalArgumentException: Could not locate named parameter [param2], expecting one of [param3] < /code> Но запрос работает очень хорошо и вернет мне правильные значения, включая те, которые из подразделений. Если я запускаю один и тот же запрос с большим размером страницы (размер 30, Page = 0), запрос все еще работает нормально и без ошибок. Если я добавляю простое условие, например: < /p> [...] FROM timesheets t WHERE status = :param3 AND :param1 = :param1 AND :param2 = :param2 [/code] Ошибка поднимет только для param2 , потому что это список. Похоже, что параметры, используемые внутри подпровода, игнорируются, но я не могу понять, почему этот простой трюк не работает для списков.>
Я запускаю JPA не родной запрос, который возвращает пользовательский объект.
@Query(
SELECT
new path.to.CustomObject(
t,
(select id from users where name = :param1)
(select id from departments where name IN (:param2))
)
FROM timesheets t
WHERE...
Я запускаю JPA не родной запрос, который возвращает пользовательский объект.
@Query(
SELECT
new path.to.CustomObject(
t,
(select id from users where name = :param1)
(select id from departments where name IN (:param2))
)
FROM timesheets t
WHERE...
Я хочу понять, как создавать объекты DTO в Hibernate. Я загрузил минимальный код для примера на GitHub.
У меня есть код, который, как мне кажется, должен получить List на основе выбора из запроса на выборку HQL, но при его выполнении я получаю...
Просто подсчитать файлы в Java оказывается на удивление сложно.
Я хочу указать на папку и подсчитать файлы, найденные на верхнем уровне этой папки. Игнорируйте скрытые файлы, например имена в стиле Unix, начинающиеся с .. Игнорировать вложенные...
Просто подсчитать файлы в Java оказывается на удивление сложно.
Я хочу указать на папку и подсчитать файлы, найденные на верхнем уровне этой папки. Игнорируйте скрытые файлы, например имена в стиле Unix, начинающиеся с .. Игнорировать вложенные...