查询的时候出现这个问题可能又两种可能,
1.实体类和对应的xml文件不一致,这个要查看数据库中的字段是否有缺少,最主要的就是有外键关系的,是否把多对一和一对多的关系全部对应上了。另外就是多对一的时候如:
<many-to-one name="staffAdmin" class="com.beauty.entity.StaffAdmin" fetch="select" lazy="false" >
<column name="staffAdminId" not-null="true" />
</many-to-one>
要加上以上红字的部分。
而一对多的时候就不需要加,如:
<set name="beautyCustomers" inverse="true">
<key>
<column name="staffAdminId" not-null="true" />
</key>
<one-to-many class="com.beauty.entity.BeautyCustomer" />
</set>
2,这中可能就是我们代码不规范,查询的时候漏掉一些符号,如:
List list = this.getCommonDAO().list("from Staff o where o.number='" + item.getNumber()+"'" );
当我们写这样的时候就出现这个问题了
List list = this.getCommonDAO().list("from Staff o where o.number=" + item.getNumber() );
查看hibernate SQL语句的时候我们就会发现少了单引号' '