0
Wenn ich craceQuery aufrufen (String, Klasse) hängt Anwendung. Hibernate letzten INFO ist "Verwenden von ASTQueryTranslatorFactory", aber dann passiert nichts. Hier ist der Code:createQuery mit JPQL hängt
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();
}
Es hängt an TypedQuery<User> query = entityManager.createQuery(queryString, User.class);
Aber was ist lustig, wenn ich Methode Körper wie folgt zu ändern:
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();
}
es funktioniert gut. Gleiche Umgebung, nur unterschiedlicher Methos. Was vermisse ich?
NUTZER Datenbank Tabellenname ist. – Franek
Ja, dann stimmt das nicht. Bei JPQL müssen Sie den Entitätsnamen anstelle des Tabellennamens abfragen. –