質問

hqlでSQLを変換してください

SQLステートメント:s useraccoutからユーザー名を選択します。ここで、email =" parameter value"

詳細説明:

コードの実行中にこのエラーが発生しています:

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;
}

コードの実行中に次のエラーが表示されます

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)
役に立ちましたか?

解決

Useraccount という名前のクラスをマップしていないようです。私の推測は次のいずれかです:

  • Useraccount という名前のクラスをマップし、クエリでこのクラスの名前を誤って入力した
  • クラスをマップしていません。これは、Hibernateの基本を理解していないことを示しています。つまり、データベーステーブルにマッピングするすべてのクラスは、XMLファイルまたは注釈を使用してこのマッピングを定義する必要があります。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top