Код: Выделить всё
CREATE EXTENSION IF NOT EXISTS citext;
ALTER TABLE public.capabilities_group
ALTER COLUMN name TYPE citext;
Код: Выделить всё
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)
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/791 ... ava-lang-s