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

标签 java spring postgresql jpa spring-data-jpa

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

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

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

我该如何改进?

最佳答案

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

String sql = "TRUNCATE tbl_name;";
entityManager.createNativeQuery(sql).executeUpdate();

关于java - 如何使用 Spring 快速删除数据库表内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26605599/

相关文章:

java - 如何创建一个使数字右侧对齐的java程序?

java - 在 Spring Jaxb2RootElementHttpMessageConverter 中禁用 XML eXternal 实体的替换

java - 从 jaas LoginModule 访问 spring 上下文

java - Liferay - 调用远程 portlet 的 Controller

postgresql - 如何在具有绑定(bind)参数的 PostgreSQL 中使用准备好的查询执行 "Explain"语句?

java - Android 证明复制我的源代码

java - 为idea配置scala项目sdk

java - 为什么这个带有 Salt 的 MD5 结果在结果字符串的末尾有 "=="?

SQL 外键数组引用非数组

ruby - pg_config、ruby pg、postgresql 9.0 升级后出现问题,centos 5