hibernate.hql是对类进行查询的

Employees表的结构:

Employee.Java代码:

[java]  view plain  copy
  1. package com.qiuclass.persistent;  
  2.   
  3. public class Employee{  
  4.     
  5.   private long eid;  
  6.   private String ename;  
  7.     
  8.   public Employee(){ }  
  9.     
  10.   public Employee(String ename){  
  11.     this.ename=ename;  
  12.   }  
  13.     
  14.   private void setEid(long eid){  
  15.     this.eid=eid;  
  16.   }  
  17.   private long getEid(){  
  18.     return eid;  
  19.   }  
  20.     
  21.   public void setEname(String ename){  
  22.     this.ename=ename;  
  23.   }  
  24.   public String getEname(){  
  25.     return ename;  
  26.   }  
  27. }  

Employee.hbm.xml 部分代码:

[html]  view plain  copy
  1. <class name="com.qiuclass.persistent.Employee" table="EMPLOYEES"   
  2.     lazy="true" select-before-update="true">  
  3.     <id name="eid" column="EID" type="long">  
  4.       <generator class="increment" />  
  5.     </id>  
  6.     <property name="ename" column="ENAME" type="string" />    
  7. </class>  

主程序部分代码:

[java]  view plain  copy
  1. public void createQuery(){  
  2.   Session session=sessionFactory.openSession();  
  3.   Transaction tx=session.beginTransaction();  
  4.     
  5.   Iterator iemp=session.createQuery("from EMPLOYEES").list().iterator();  
  6.   while(iemp.hasNext()){  
  7.     Employee emp=(Employee)iemp.next();  
  8.     System.out.print(emp.getEname());  
  9.   }  
  10.   tx.commit();  
  11.   session.close();  
  12. }  

当代码编译到session.createQuery("from EMPLOYEES").list().iterator(); 就报错: 
org.hibernate.hql.internal.ast.QuerySyntaxException: EMPLOYEES is not mapped [from EMPLOYEES]

Hibernate.cfg.xml配置文件上的<mapping resource="com/qiuclass/persistent/Employee.hbm.xml"/> 相对应的文件没写错。

开始时候一直在检查EMPLOYEES表各字段属性与Employee.java类属性是否不一致导致,也反复检查Employee.hbm.xml映射文件,都没找到原因。
后来经大牛指点,才知道hibernate.hql是对类进行查询的,EMPLOYEES是表名,Employee是类名,所以要改成
session.createQuery("from Employee").list().iterator();

原来又是概念没搞清楚,折腾了头天 哭


全篇转载:http://blog.csdn.net/qiustion/article/details/47910239

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值