一尘不染

如何在Hibernate / JPA中为每个持久性单元执行differnet import.sql?

hibernate

我在JPA
/hibernate配置中配置了两个持久性单元。现在,我需要为每个持久性单元执行不同的import.sql。如何指定每个持久性单元应执行哪个import.sql?根据文档的Hibernate,我应该将import.sql放在classpath中。如果我这样做,则将在每个持久性单元上执行import.sql。我需要以某种方式为每个持久性单元指定不同的import.sql。


阅读 229

收藏
2020-06-20

共1个答案

一尘不染

您可以在应用程序启动时使用org.hibernate.tool.hbm2ddl.SchemaExport类手动执行一些操作。

SchemaExport schemaExport1 = new SchemaExport(cfg1); // there are various c-tors available
schemaExport1.setInputFile("/import-1.sql");
schemaExport1.create(false, true);

SchemaExport schemaExport2 = new SchemaExport(cfg2);
schemaExport2.setInputFile("/import-2.sql");
schemaExport2.create(false, true);
2020-06-20