سؤال

يرجى تحويل 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 أو التعليقات التوضيحية.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top