質問
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ファイルまたは注釈を使用してこのマッピングを定義する必要があります。
所属していません StackOverflow