如何使用 Spring 快速删除数据库表内容?

mem*_*und 3 java postgresql spring jpa spring-data-jpa

我正在使用Spring-data-jpawithCrudRepository将数据保存在postgres数据库中。

每天我都想更新完整的数据库内容,这意味着首先删除特定表中的所有数据。

存储库提供了一种方法dao.deleteAll(),但由于我有大约 50 万个条目,所以它会持续很长时间。

我该如何改进?

小智 6

您可以在实体管理器上执行本机 sql 查询,并截断您的数据库

String sql = "TRUNCATE tbl_name;";
entityManager.createNativeQuery(sql).executeUpdate();
Run Code Online (Sandbox Code Playgroud)