刚刚开始学习hibernate,做了一张教师表的映射,字段如下很简单:
id | name |
1 | Tom |
2 | Jerry |
然后开始编写代码了。定义了如下几个类
HibernateBase:用来控制transaction,以及生成sessionFactory,Session
Teacher: teacher表的映射类
TeacherBean: 用来控制对于teacher表的查询,更新,删除,追加处理
但是当我在TeacherBean定义一个取得所有教师的方法时,发现了下面的sql语句与普通的sql不太一样。
public Iterator getAllTeacher() throws HibernateException{
String strQuery = "select teacher from Teacher teacher";
beginTransaction();
Query query = objSession.createQuery(strQuery);
Iterator it = query.iterate();
return it;
}
研究后发现这里的select语句要以下面的形式来定义:
select [Teacher.hbm.xml的class里面的table名 ] from [映射类的类名,比如Teacher] [Teacher.hbm.xml的class里面的table名 ]