我正在Java代码中的H2数据库上执行以下RunScript:

RunScript.execute("jdbc:h2:mem:testDB", "SA", "","truncate-all-database-tables.sql",Charsets.UTF_8, false);


其中truncate-all-database-tables.sql的内容为:

SET REFERENTIAL_INTEGRITY FALSE;
TRUNCATE TABLE USER;
TRUNCATE TABLE TEAM;
TRUNCATE TABLE TEAM_USER;
SET REFERENTIAL_INTEGRITY TRUE;


我想知道如何仅在代码中执行此操作,而不必使用RunScript和单独的.sql文件?例如。使用javax.persistence.Query吗?

最佳答案

本地查询是必经之路。请参见EntityManager的文档。

例如

Query query = em.createNativeQuery("SET REFERENTIAL_INTEGRITY FALSE");
query.executeUpdate();
query = em.createNativeQuery("TRUNCATE TABLE USER");
query.executeUpdate();
.......

07-26 08:37
查看更多