2011-08-17 8 views
10

me encuentro frente a la excepción: org.hibernate.hql.ast.QuerySyntaxException: Student6 no está mapeado [de Student6 stud] mi nombre de tabla es Student6 en el servidor sql la base de datos y el nombre de la clase pojo es Estudiante.org.hibernate.hql.ast.QuerySyntaxException: tablename no está correlacionado

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

Debe agregar sus mapeos – ssedano

Respuesta

32

Su consulta no es una consulta SQL. Es una consulta HQL. Por lo tanto, no debe usar nombres de tabla, sino nombres de clase de entidad (from Student en lugar de from Student6). Y no devolverá filas en forma de instancias Object[], sino que devolverá instancias de entidad.

Hibernate es un ORM: un asignador relacional de objetos. La idea es usar objetos en lugar de datos relacionales. Debe volver a leer el Hibernate reference manual.

+0

Gracias JB Nizet. – user783160

+0

@JB Nizet - gracias por la buena respuesta fui demasiado rápido para responder No noté la diferencia entre 'Estudiante' y 'Estudiante6' :) –

+0

Gracias, busqué y busqué y esta fue la respuesta. – Fabii

Cuestiones relacionadas