JPA存储库:在大表中保存实体时出现问题 - 超时错误

8 浏览
0 Comments

JPA存储库:在大表中保存实体时出现问题 - 超时错误

我正在使用JPA存储库。

我想在一个包含100000条记录的Mysql表中保存一个实体。

当我执行

FraisProvision fraisProv = new FraisProvision();
...
fraisProvisionRepository.save(fraisProv);

我遇到了这个错误`

Caused by: java.sql.SQLException: Lock wait timeout exceeded; try

restarting transaction

当Mysql表不是那么大时,它工作得很好。

如果我通过MysqlWorkbench在这个表中插入一条记录,记录会立即插入。

我不明白为什么使用JPA存储库插入实体需要这么长时间。

0
0 Comments

问题原因:在保存实体到一个大表中时,出现了超时错误。

解决方法:尝试在URI中添加?autoReconnect=true,例如:

mysql://db_user:db_user/mydb?autoReconnect=true

这对我来说起作用了。

0