سؤال
يرجى تحويل SQL إلى HQL
بيان SQL :ساختر اسم المستخدم من useraccout حيث البريد الإلكتروني = "قيمة المعلمة"
المزيد من الوصف:
أثناء تشغيل الكود يظهر لي هذا الخطأ:
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
وقمت بكتابة اسم هذه الفئة بشكل غير صحيح في الاستعلام - لم تقم بتعيين أي فئات.يشير هذا إلى أنك لا تفهم أساسيات السبات.باختصار، تحتاج كل فئة يتم تعيينها إلى جدول قاعدة بيانات إلى تحديد هذا التعيين باستخدام ملف XML أو التعليقات التوضيحية.
لا تنتمي إلى StackOverflow