现在联系使用hibernate,经常遇到的问题是,不如一个emp表的Employee对象,其中有一个属性Department对象关联到dept表,我想更换Employee对象的部门。
我通常的做法是 Java code Employee emp = getEmpDAO().findById(id);//获取该员工 //dId 为要更改的部门编号 Department dept = getDeptDAO().findById(id);//获取要更改的部门 emp.setDepartment(dept); // 更新职员的部门 getEmpDAO().save(emp);保存更新 我emp表中只有一个deptno属性,我干嘛还得再把把对应部门查出来,这部多余吗? 难道不可以直接修改吗?
求更高明的做法。
非常感谢。
我通常的做法是 Java code Employee emp = getEmpDAO().findById(id);//获取该员工 //dId 为要更改的部门编号 Department dept = getDeptDAO().findById(id);//获取要更改的部门 emp.setDepartment(dept); // 更新职员的部门 getEmpDAO().save(emp);保存更新 我emp表中只有一个deptno属性,我干嘛还得再把把对应部门查出来,这部多余吗? 难道不可以直接修改吗?
求更高明的做法。
非常感谢。
emp.department
emp中想把deptno由1修改成2,只需这样就行了.
emp.setDepartment(new Department(2));hibernate会自动关联好,当然前提是Department对应的表中要有id为2的字段。不蛮你说,我原来也是和你一样操作的,还认为我上面写的是错误的,不过没有问题!