我想创建一个服务,该服务需要一个表名列表并从每个表中删除(截断)所有数据。每个表都有一个对应的JPARepository。如何在Spring Boot中做到这一点?
答案 0 :(得分:1)
您可以使用本机SQL截断表:
@Autowired
DataSource dataSource;
public void truncateTables(List<String> tableNames) {
try (Connection connection = dataSource.getConnection();
Statement statement = connection.createStatement()) {
for (String tableName : tableNames) {
statement.executeUpdate("TRUNCATE " + tableName);
}
connection.commit();
} catch (SQLException throwables) {
// error handling...
}
}