2011-08-17 12 views
10

मुझे अपवाद का सामना करना पड़ रहा है: org.hibernate.hql.ast.QuerySyntaxException: छात्र 6 मैप नहीं किया गया है [छात्र 6 स्टड से] मेरा टेबल नाम एसक्यूएल सर्वर में छात्र 6 है डेटाबेस और pojo वर्ग का नाम छात्र है।org.hibernate.hql.ast.QuerySyntaxException: tablename मैप नहीं किया गया है

public static void main(String[] args) { 
    Configuration configuration = new Configuration(); 
    SessionFactory sessionFactory = configuration.configure().buildSessionFactory(); 
    Session session = sessionFactory.openSession(); 
    try { 
     String SQL_QUERY ="from Student6 stud"; 
      Query query = session.createQuery(SQL_QUERY); 
      for(Iterator it=query.iterate();it.hasNext();)    { 
      Object[] row = (Object[]) it.next(); 
      System.out.println("STUDENT_ID: " + row[0]); 
      System.out.println("STUDENT_NAME: " + row[1]); 
      System.out.println("ADDRESS_STREET: " + row[2]); 
      System.out.println("ADDRESS_CITY: " + row[3]); 
      System.out.println("ADDRESS_STATE: " + row[4]); 
      System.out.println("ADDRESS_ZIPCODE: " + row[5]);        } 

    } catch (HibernateException e) { 
     transaction.rollback(); 
     e.printStackTrace(); 
    } finally { 
     session.close(); 
    } 
} 
+0

आपको अपने मैपिंग – ssedano

उत्तर

32

आपकी क्वेरी एक SQL क्वेरी नहीं है। यह एक एचक्यूएल क्वेरी है। इस प्रकार तालिका नामों का उपयोग नहीं करना चाहिए, लेकिन from Student6 के बजाय इकाई वर्ग के नाम (from Student)। और यह Object[] उदाहरणों के रूप में पंक्तियों को वापस नहीं करेगा, लेकिन इकाई के उदाहरण वापस कर देगा।

हाइबरनेट एक ओआरएम है: ऑब्जेक्ट रिलेशनल मैपर। विचार डेटा के बजाय वस्तुओं का उपयोग करना है। आपको Hibernate reference manual दोबारा पढ़ना चाहिए।

+0

धन्यवाद जेबी निजेट जोड़ना होगा। – user783160

+0

@ जेबी निजेट - अच्छे उत्तर के लिए धन्यवाद मैं जवाब देने में बहुत जल्दी था, मैंने 'छात्र' और 'छात्र 6' के बीच अंतर नहीं देखा :) –

+0

धन्यवाद, मैं बैठता हूं और खोज करता हूं और यह जवाब था। – Fabii

संबंधित मुद्दे