问题描述:使用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;
}
解决Hibernate更新数据库问题
本文讨论了在使用Hibernate时遇到的自动更新数据库问题,并提供了通过使用副本或克隆对象以及将对象变为游离对象来解决该问题的方法。
538

被折叠的 条评论
为什么被折叠?



