Frage
konvertieren Sie bitte die SQL in hql
SQL-Anweisung : s wählen Benutzernamen aus useraccout wo email = "Parameterwert"
Weitere Beschreibung:
während der Ausführung des Codes ich diese Störung erhalte:
public List dispUser(String email){
Query query = em.createQuery("SELECT u.username FROM Useraccout u WHERE u.email=:email)");
query.setParameter(email, email);
List search = query.getResultList();
return search;
}
während des Laufens den Code i folgende Störung erhalte
java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException:
Useraccout is not mapped [SELECT u.username FROM Useraccout u WHERE u.email=:email1)]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:624)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Lösung
Es scheint, Sie nicht eine Klasse namens Useraccount
zugeordnet haben. Meine Vermutung ist, dass entweder:
- Sie haben eine Klasse namens
Useraccount
zugeordnet und haben die Namen dieser Klasse falsch in der Abfrage getippt
- Sie haben alle Klassen nicht abgebildet. Dies zeigt an, dass Sie nicht die Grundlagen der Hibernate verstehen. Kurz gesagt, das jede Klasse zu einer Datenbanktabelle abbildet muss diese Zuordnung entweder eine XML-Datei oder Anmerkungen definieren.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow