对hibernate不太懂,做修改的时候遇到一个问题。
[code="java"]
final Role role = this.roleService.findRoleById(id);
role.getPermissions().clear();
if (permissionIds != null)
for (final int i : permissionIds)
role.addPermission(permissionService.findPermissionById(i)); //这里重新填充Permission
roleService.updateRole(role);//执行这里的时候报错
[/code]
Role和Permission为一对多 Role里面有个Set
看update()的代码
[code="java"]@Transactional
public void update(T entity) {
Session session = getCurrentSession(); //getCurrentSession
session.update(entity);
}[/code]
google了一大堆,许多人说用session.merge()。。。我试了merge方法,没有报错。。但是我保存的东西完全没有成功。
公司人都走光了,空荡荡的就我一个人了。就是为了解决这个该死的问题。。看在苦逼加班的份上,谁知道的告诉我一声,不胜感激。。。