【发布时间】:2011-02-16 16:26:34
【问题描述】:
我正在尝试编写一个导入数据文件的 Java 应用程序。流程如下
- 创建交易
- 从数据表中删除所有行
- 将数据文件加载到数据表中
- 如果遇到任何错误,则提交或回滚。
第 3 步加载的数据与第 3 步删除的数据大体相同。
使用以下方式执行删除
DetachedCriteria criteria = DetachedCriteria.forClass(myObject.class);
List<myObject> myObjects = hibernateTemplate.findByCriteria(criteria);
hibernateTemplate.deleteAll(myObjects);
当我加载数据文件时,我得到以下异常
nested exception is org.hibernate.NonUniqueObjectException:
a different object with the same identifier value was already associated with the session:
整个过程需要在事务中进行。 而且我真的不想比较导入文件/数据表,然后执行插入/更新/删除以使它们同步。
任何帮助将不胜感激。
【问题讨论】:
标签: mysql hibernate spring transactions