0
Когда я вызываю приложение createQuery (String, Class), зависает. Hibernate last INFO - «Использование ASTQueryTranslatorFactory», но затем ничего не происходит. Вот код:createQuery с JPQL зависает
public User getUserByLogin(String username) {
String queryString = "SELECT u FROM USERS u WHERE u.USERNAME = :username";
TypedQuery<User> query = entityManager.createQuery(queryString, User.class);
return query.setParameter("username", username).getSingleResult();
}
Он висит на TypedQuery<User> query = entityManager.createQuery(queryString, User.class);
Но что это смешно, когда я изменяю тело метода, как это:
public User getUserByLogin(String username) {
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<User> criteriaQuery = criteriaBuilder.createQuery(User.class);
Root<User> userRoot = criteriaQuery.from(User.class);
criteriaQuery.select(userRoot).where(criteriaBuilder.equal(userRoot.get("username"), username));
TypedQuery<User> query = entityManager.createQuery(criteriaQuery);
return query.getSingleResult();
}
он работает отлично. Такая же среда, просто другое тело мето. Что мне не хватает?
ПОЛЬЗОВАТЕЛЕЙ это имя таблицы базы данных. – Franek
Да, тогда это неправильно. С JPQL вам нужно запросить имя объекта вместо имени таблицы. –