如何在JPA / Hibernate中执行本机SQL脚本?

时间:2013-01-16 12:24:07

标签: sql oracle hibernate jpa

我有一个带有数据库转储的SQL脚本。如何使用Hibernate的EntityManager

执行它

我试过这种方式:

EntityManager manager = getEntityManager(); 
Query q = manager.createNativeQuery(sqlScript);
q.executeUpdate();

但它仅在sqlScript包含单个SQL查询时才有效,而我需要运行多个插入和其他复杂的东西。

RDBMS: Oracle Database 11g快捷版11.2.0.2.0版 - 64位生产

1 个答案:

答案 0 :(得分:59)

使用begin end block包装您的查询。喜欢

EntityManager manager = getEntityManager(); 
Query q = manager.createNativeQuery("BEGIN " + sqlScript + " END;");
q.executeUpdate();