如何以编程方式执行H2的Run Script命令的内容?

时间:2013-12-11 10:41:58

标签: java jpa h2

我正在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?

1 个答案:

答案 0 :(得分:1)

本地查询是要走的路。请参阅EntityManager的文档。

E.g

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