2013-08-06 56 views
0

我正在写一个脚本来使用休眠从一个文件加载到一个mysql数据库中的记录。我正在使用事务处理批量为1000的记录,如果记录已经存在于数据库中,则插入操作将失败,这实际上会使整个事务回滚。是否有办法知道回滚事务中处理的记录是什么?如何获得休眠失败的事务详细信息

另外,考虑到这种情况,有没有更好的方法来做到这一点?请注意,该脚本每天运行,并且不是一次性加载,并且该文件通常每天将有大约2.5亿条记录。

回答

0

您可以使用StatelessSession API并检查ConstraintViolationException;您可以丢弃没有回滚事务的失败记录。

+0

我不想放弃失败记录,我希望将详细信息保存到文件中,因此我需要一种方法来了解在trasaction中哪些记录失败 – Aryan

+0

检查'ConstraintViolationException'和catch-block日志失败的记录。 –

相关问题