2013-12-11 3 views
0

Я исполнив следующую RunScript на базе H2 в моем Java код:Как программно выполнить содержимое команды RunScript H2?

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

Где содержимое усеченной-все-БД-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

Родные запросы - это путь. См. Документацию по адресу EntityManager.

например

Query query = em.createNativeQuery("SET REFERENTIAL_INTEGRITY FALSE"); 
query.executeUpdate(); 
query = em.createNativeQuery("TRUNCATE TABLE USER"); 
query.executeUpdate(); 
....... 
Смежные вопросы