0

我需要从旧系统进行数据迁移,总共有 20,000 多条记录[所有数据将由 csv 文件提供],由于某些技术原因,我必须使用 JPA/Hibernate 将这些数据导入您的新系统目前使用。

当我进行导入时,总是遇到如下事务问题:

数据库是MS SQL Server 2005

org.hibernate.AssertionFailure: null id in xxxxentry(发生异常后不要刷新Session)

我尝试了以下事情:

  1. 使用嵌套异常来导入单独的记录。
  2. 将数据拆分为一些小 csv 文件
  3. entityManager.flush()手动调用并加入Thread.sleep(10000)睡眠 10ms
  4. 每 20 条记录调用titityManager.flush一次并休眠 5ms

但不幸的是,似乎没有任何帮助。请帮忙。

谢谢阅读。任何帮助将非常感激!

4

1 回答 1

0

If mappings are correct, probably is a wrong import code like described in org.hibernate.AssertionFailure.
Also you can look about Hibernate batch processing best pratices and Stateless session.
Last option can be move to spring-batch

于 2013-09-10T08:50:51.953 回答