【发布时间】:2020-11-23 04:46:58
【问题描述】:
我有一个场景,数据从 excel 表上传到 mysql db。我正在使用弹簧数据 jpa。并且服务在用从 excel 表中获取的数据填充实体以保存在数据库中之后递归地调用实体。这会在特定负载后创建“无法获取 jdbc 连接”。
我尝试使用 @Transactional 来了解优势。然后我正在考虑在代码中手动使用 EntityManager 并控制事务边界,以便实体的所有递归保存调用都发生在一个事务中,从而发生在一个连接对象中。我只是想检查这是否是一个好主意,或者我应该采取任何其他性能更高的方法。不用说无论如何我必须通过实体来做到这一点。
【问题讨论】:
-
你能显示你的代码吗?您使用的是哪个 MYSQL 引擎? excel中可以有多少数据?
-
除此之外,您还可以使用以下要求说明来更新问题。如果 excel 包含 10 000 条记录,如果应用程序在 9 000 条记录后出错,1)您是否想要数据库中的这 9 000 条成功记录或 2)您不希望任何记录保存在数据库中,如果插入中途失败
标签: java hibernate spring-data-jpa spring-jdbc spring-transactions