1.表单提交内容--emp.name emp.age emp.dept.id
Dept类的字段有 id name loc
正确的写法:
表单提交以后会对emp.name emp.age emp.dept.id(这时候的Dept对象里只有id有值 name和loc是空值)
Emp emp;
Dept dept=session.get(Dept.class,emp.getDept().id);//这样获取的Dept对象id name loc都有值
emp.setDept(dept);
session.save(emp);
//配置文件里面设置了级联操作 保存emp的同时保存emp的属性dept对象的值 cascade
//<many-to-one name="dept" column="dept_id" class="com.gang.model.Dept" fetch="join" cascade="true"/>
session.commit();
错误的写法:
session.save(emp);
//这个时候dept对象里面的属性dept对象 id有值(表单提交给予的)name loc是空值(表单没给)
所以当就这样操作的时候hibernate会更新相应id的name 和loc字段 导致数据库中dept表中相应id的name 和loc为空值
hibernate常见错误 表单提交 导致数据库为空值
最新推荐文章于 2019-07-25 10:32:00 发布