Я новичок в jpa, мне нужно что-то вроде этого:
TypedQuery<XXX> typedQuery = em.createQuery("select c from XXX c where cast(c.description as string) like :name", XXX.class);
typedQuery.setParameter("name", startStr + "%");
Я использую "cast", потому что c.description имеет необычный тип (введите "mvarchar" в патче postgresql для 1c). Это работает, но мне нужно использовать предикаты:
ParameterExpression<String> parameter = builder.parameter(String.class, "name");
predicate = builder.like(root.<String>get("description"), parameter);
query.where(builder.and(predicate));
"description" имеет тип String в классе сущности XXX.
Ошибка после выполнения: ОШИБКА: оператор не существует: символ mvarchar ~~ меняется
Я пробовал сделать "как" (root.get ("description"). As (String.class)), но результат тот же.
Могу я это исправить?