Как выполнить следующий запрос в hibernate 5?
select * form product where name like "%s%" or sku like "%s%"
Пока что я использую следующий код, но он не работает.
searchText = "%" + searchText + "%";
// Search the text.
try {
// Get the record with the username.
SessionFactory sessionFactory = HibernateUtility.getSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder();
CriteriaQuery<ProductsEntity> criteriaQuery = criteriaBuilder.createQuery(ProductsEntity.class);
Root<ProductsEntity> root = criteriaQuery.from(ProductsEntity.class);
Predicate[] predicates = new Predicate[2];
predicates[0] = criteriaBuilder.like(root.get(ProductsEntity_.name), searchText);
predicates[1] = criteriaBuilder.like(root.get(ProductsEntity_.sku), searchText);
criteriaQuery.select(root).where(criteriaBuilder.or(predicates));
Query<ProductsEntity> query = session.createQuery(criteriaQuery);
List<ProductsEntity> productsEntityList = query.getResultList();
productsEntityObservableList.setAll(productsEntityList);
// Set the product table view to the observable list.
tvProductsList.getItems().clear();
tvProductsList.getItems().addAll(productsEntityObservableList);
} catch (HibernateException e ){
WindowsUtility.displayAlert("Database Error", "Unable to connect to database", Alert.AlertType.ERROR);
e.printStackTrace();
}
Произошла следующая ошибка:
Информация: java: при компиляции модуля произошли ошибки
Информация RestrauntManagementSystem: javac 1.8.0_201 использовался для
Информация о компиляции Java: 14.03.19 22:51 - Компиляция
завершено с 2 ошибками и 4 предупреждениями за 2 с 254 мс Предупреждение: java:
исходное значение 1.5 устарело и будет удалено в будущем выпуске
Предупреждение: Java: целевое значение 1.5 устарело и будет удалено в
будущий выпуск Предупреждение: Java: для подавления предупреждений об устаревших
параметры, используйте -Xlint: -options.
/home/kazekage/IdeaProjects/RestrauntManagementSystem/src/main/java/admin/ProductsController.java
Предупреждение: (258, 27) java: isNumber (java.lang.String) в
org.apache.commons.lang3.math.NumberUtils устарела
Ошибка: (288, 63) Java: не удается найти символ символа: переменная
ProductsEntity_ location: класс admin.ProductsController Ошибка: (289,
63) Java: не удается найти символ символа: переменная ProductsEntity_
расположение: класс admin.ProductsController