遇到这个问题,只能说是没有好好理解Hibernate。当我们执行如下语句的时候
public int findCount() {
String hql = "select count(*) from Room" ;
List<Long> list = (List<Long>)this.getHibernateTemplate().find(hql);
if(list.size() > 0){
return list.get(0).intValue() ;
}
return 0;
}
可能出现的原因:
1.请务必要注意,在“select count(*) from Room”的时候,这个Room,不是你的数据库对应的表名,也不是你的映射文件的表名。而是你的实体对象的名称(是区分大小写的!)。
2.配置文件没有加载到hibernate的实体类列表里面。
3.映射文件的字段与数据库字段不一致,或者名称不一致。
遇到这个问题的同学可以分别检查一下上面提到的三部分有没有正确。