开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜