JPA Criteria - like запрос не работает

202
20 февраля 2019, 23:30
CriteriaBuilder builder = sessionFactory.getCurrentSession().getCriteriaBuilder();
CriteriaQuery<String> criteria = builder.createQuery(String.class);
Root<EstimatedObject> root = criteria.from(EstimatedObject.class);
criteria.select(root.get("customer")).distinct(true);
Predicate predicate = builder.like(
        builder.lower(root.get("customer")),
        builder.lower(builder.literal("%" + like + "%"))
        );
criteria.where(predicate);
List<String> customerList = sessionFactory.getCurrentSession().createQuery(criteria).getResultList();
customerList.forEach(System.out::println);  

Получается запрос вида:

Hibernate: select distinct estimatedo0_.customer as col_0_0_
  from directories_object.estimated_object estimatedo0_
  where lower(estimatedo0_.customer) like lower(?)  

Запускаю его на postgres - работает.
Через приложение, не хочет - возвращает 0 результатов.
Почему? Как это можно исправить?

READ ALSO
Почему я не могу найти конкретное выражения Java

Почему я не могу найти конкретное выражения Java

Без Pattern данные выводятся такие: USD 27827 28

160
Сравнение объектов оператором == в Java. Integer vs int

Сравнение объектов оператором == в Java. Integer vs int

Для сравнения объектов в Java используется метод equals(), но что если сравниваются между собой два объекта-обертки для примитивных типов:

212
Повторить одну строку в столбик, через итератор и цикл (при условии)

Повторить одну строку в столбик, через итератор и цикл (при условии)

Нужно реализовать повтор строки в столбик 1 раз (если то условие выполняется)Ниже выделил где именно это происходит

182
Как использовать logger.info(из log4j) в консоли вместо print?

Как использовать logger.info(из log4j) в консоли вместо print?

Надо выводить какие-то действия в консоль + логировать их в файлЯ сделал это с помощью log4j

177