org.hibernate.hql.ast.QuerySyntaxException: tablename is not mapped
i am facing exception: org.hibernate.hql.ast.QuerySyntaxException: Student6 is not mapped [from Student6 stud] my table name is Student6 in sql server database and pojo class name is Student.
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();
}
}
Your query is not a SQL query. It's a HQL query. It thus should not use table names, but entity class names (from Student
instead of from Student6
). And it won't return rows in the form of Object[]
instances, but will return entity instances.
Hibernate is an ORM: an Object Relational Mapper. The idea is to use objects rather than relational data. You should re-read the Hibernate reference manual.
精彩评论