我正在尝试编写导入数据文件的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:
整个过程需要发生在交易进行删除。 而且我并不想要比较导入文件/数据表,然后执行插入/更新/删除以使它们同步。
任何帮助,将不胜感激。
可能是最简单的解决方案。不幸的是,我们使用的db账户只有更新/插入/删除权限。我可能必须使用nsert/update/delete而不是drop all ... ta – muffytyrone 2010-05-11 06:02:38