今天用SSH做项目时出现了identifier of an instance of xxx was altered from N to 1错误,大概就是给持久化类赋值时错误了,折腾半天才发现错误
原因如下
我的项目有一个员工类,其中包含部门信息,在用Hibernate反向工程生成pojo类时,是这个样子的
(我只取了一部分)
private Integer staffId;
private CompanyDepartmentInfo ;
在CompanyDepartmentInfo类中的定义如下
private Integer departmentId;
private String departmentName;
我的员工类存放的是部门id,所以我在赋值时想当然的就写成了
<pre name="code" class="java">staff.getCompanyDepartmentInfo().setDepartment(id);
所以会出现那个错误,正确方法是要将整个department类set进staff类中,即
staff.setCompanyDepartmentInfo(部门类);
即可解决。