2011-08-17 11 views
10

Mam do czynienia z wyjątkiem: org.hibernate.hql.ast.QuerySyntaxException: Student6 nie jest odwzorowany [ze Studenta6] moja nazwa tabeli to Student6 w serwerze sql nazwa bazy danych i klasy pojo to Student.org.hibernate.hql.ast.QuerySyntaxException: nazwa tablitu nie jest odwzorowana

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

Musisz dodać swoje mapowania – ssedano

Odpowiedz

32

Twoje zapytanie nie jest zapytaniem SQL. To kwerenda HQL. Dlatego nie powinno używać nazw tabel, ale nazwy klas jednostek (from Student zamiast from Student6). I nie zwróci wierszy w postaci instancji Object[], ale zwróci instancje instancji.

Hibernate to ORM: obiektowy program odwzorowujący relacje. Chodzi o to, aby używać obiektów zamiast danych relacyjnych. Powinieneś ponownie przeczytać Hibernate reference manual.

+0

Dzięki JB Nizet. – user783160

+0

@JB Nizet - dzięki za dobrą odpowiedź Byłem zbyt szybki, aby odpowiedzieć Nie zauważyłem różnicy między "Studentem" a "Student6" :) –

+0

Dziękuję, szukam i szukam, i to była odpowiedź. – Fabii

Powiązane problemy