Org.hibernate.query.SemanticException: операнд «like» имеет тип «java.lang.String», который не является строкой (его кодJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Org.hibernate.query.SemanticException: операнд «like» имеет тип «java.lang.String», который не является строкой (его код

Сообщение Anonymous »

У меня есть поле «capabilities_group.name», которое было преобразовано из varchar -> CITEXT с помощью сценария миграции БД ниже:

Код: Выделить всё

CREATE EXTENSION IF NOT EXISTS citext;

ALTER TABLE public.capabilities_group
ALTER COLUMN name TYPE citext;
Я пытаюсь устранить необходимость использования builder.lower() в этой операции поиска LIKE:

Код: Выделить всё

    private void buildNameSearchPredicate(CriteriaBuilder builder, Root root, Join accountJoin,
List
 predicates, String searchBy, String searchValue, long dealerId) {
Join capabilitiesGroupJoin = root.join("capabilitiesGroup", JoinType.INNER);

//old line - uses lower() on strings
//            predicates.add(builder.like(builder.lower(capabilitiesGroupJoin.get(searchBy)), "%" + searchValue.toLowerCase() + "%"));

// new line below - causes error
predicates.add(builder.like((capabilitiesGroupJoin.get(searchBy.toString())), "%" + searchValue.toString() + "%"));
}

Приведенная ошибка приведена ниже:

Код: Выделить всё

Caused by: org.hibernate.query.SemanticException: Operand of 'like' is of type 'java.lang.String' which is not a string (its JDBC type code is not string-like)
Если кто-нибудь знает, почему эта ошибка возникает именно в builder.like() и как я могу ее исправить, чтобы она искала LIKE в поле CITEXT, было бы здорово.
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/791 ... ava-lang-s
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»