gpt4 book ai didi

hibernate - org.hibernate.hql.ast.QuerySyntaxException : tablename is not mapped

转载 作者:行者123 更新时间:2023-12-04 02:36:05 25 4
gpt4 key购买 nike

我面临异常:org.hibernate.hql.ast.QuerySyntaxException:Student6 未映射 [来自 Student6 螺柱]
我的表名是 sql server 数据库中的 Student6,pojo 类名是 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();
}
}

最佳答案

您的查询不是 SQL 查询。这是一个 HQL 查询。因此它不应该使用表名,而应该使用实体类名( from Student 而不是 from Student6 )。它不会以 Object[] 的形式返回行实例,但会返回实体实例。

Hibernate 是一个 ORM:一个对象关系映射器。这个想法是使用对象而不是关系数据。您应该重新阅读 Hibernate reference manual .

关于hibernate - org.hibernate.hql.ast.QuerySyntaxException : tablename is not mapped,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7096124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com