Как написать условие LIKE для UUID с помощью Querydsl, чтобы найти значения, соответствующие префиксу?

Мне нужно написать код с помощью Querydsl для этого https://stackoverflow.com/a/46494463/7750228.

Как это сделать?


person Bulat Usmanov    schedule 19.07.2019    source источник


Ответы (1)


Поскольку это Postgres, для этого вам нужно использовать функцию cast(), потому что валидатор JPQL не распознает такой вид приведения. У тебя есть выбор:

  • Написать собственный запрос
  • Используйте функцию cast(expression as datatype) вместо приведения типа ::datatype.

Результат будет выглядеть так:

SELECT u FROM User u
WHERE cast(id as text) LIKE CONCAT(:prefix,'%')
person Alan Sereb    schedule 19.07.2019