比如
School school = schoolService.getSchool(id);
school.getStudent().setName("newname");
schoolService.save(school);这样的话Student会自动更新(没有设置级联),难道hibernate在对持久态的属性修改后会自动保存(知道是flush的操作吧),
就是对实体属性也会更新?
School school = schoolService.getSchool(id);
school.getStudent().setName("newname");
schoolService.save(school);这样的话Student会自动更新(没有设置级联),难道hibernate在对持久态的属性修改后会自动保存(知道是flush的操作吧),
就是对实体属性也会更新?
Transaction tx = session.beginTransaction();
session.save(school);
tx.commit();
你的居然还开着? 莫非你手动控制事务吗?如果你有特殊需求必须让事务一直开着的话,在查找到Student 以后把它从一级缓存中删掉也可以解决你的问题。既:
session.evit(student);