问题描述:使用hibernate时,在修改内容后,就算没有调用save,也会自动更新新数据库。目前发现的解决办法,在读取bean时,使用游离或副本对象
1. 使用副本或者clone对象
BeanUtils.copyProperties(Task,TaskService.get(id));
2. session.evict(superviseTask);将这个对象变成游离对象:
public Task get(String id) {
Session session = taskDao.getSession();
Task task = (Task)session.get(<span style="font-family: Arial, Helvetica, sans-serif;">Task</span><span style="font-family: Arial, Helvetica, sans-serif;">.class, id); </span>
if(null != superviseTask) {
session.evict(superviseTask); <span style="font-family: Arial, Helvetica, sans-serif;">//不持久化</span>
}
return superviseTask;
}
}
return task;
}