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)
War es hilfreich?

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
scroll top