我在JPA/Hibernate配置中配置了两个持久性单元。现在我需要为每个持久性单元执行不同的import.sql。我如何指定为每个持久性单元执行哪个import.sql?根据Hibernate的文档,我应该将import.sql放在classpath中。如果我这样做,import.sql将在每个持久性单元上执行。我需要以某种方式为每个持久性单元指定不同的import.sql。如何在每个持久性单元的Hibernate/JPA中执行不同的import.sql?
2
A
回答
5
当您的应用程序启动时,您可以使用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);
7
FWIW,这是可能的休眠3.6.0.Beta1(见HHH-5337),你现在可以声明一下文件(S)使用hibernate.hbm2ddl.import_files
属性导入:
hibernate.hbm2ddl.import_files /mydbload.sql,/mydbload2.sql
所以,你可以为每个持久性单元使用不同的值。
0
在我所有的项目中,我只使用一个import.sql,并在它旁边创建不同的其他* .sql(例如:H2_import.sql,sqlServer_import.sql),并根据持久性单元使用我复制内容* .sql并将其过滤到import.sql中
相关问题
- 1. 合并不同持久性单元
- 2. 如何防止在Spring中执行import.sql引导单元测试
- 3. JPA中的可选持久性单元(使用多个持久性单元时)
- 4. 使用不同的持久性单元进行测试
- 5. 持久性单元不是持久性的
- 6. 持久性单元,不同的hibernate.transaction.manager_lookup_class属性
- 7. 同一事务中的多个持久性单元
- 8. Websphere上每个持久性单元生成的重复ClassLoaders
- 9. 如何在persisence.xml中添加多个持久性单元?
- 10. mysql中的Java持久性单元
- 11. EJB-JPA持久性单元
- 12. JPA @OneToMany加入不同的持久性单元
- 13. 指向同一数据库的多个JPA持久性单元?
- 14. OpenJPA,Jersey,JUnit:为我的单元测试使用不同的持久性单元?
- 15. PersistenceException:找不到持久性提供程序的持久性提供程序 - 名为default的持久性单元
- 16. 带有多个JPA持久性单元的Spring Annotation配置不会持久
- 17. 如何获得多个持久性单元的EntityManager(s)
- 18. persistence.xml为多个持久性单元
- 19. WLS 10.3.4 - 在作用域xxx_EJB.jar中没有名为'xxx'的持久性单元。可用的持久性单元:[]
- 20. Webapp找不到持久性单元。没有名为'X'的持久性单元在范围
- 21. 如何合并/扩展来自不同JAR的持久性单元?
- 22. 如何在Redis中执行持久性存储?
- 23. 为每个TableView单元格执行不同的Segue
- 24. 在Quartz.net中每次执行后都不会持久JobData
- 25. 冲突的持久性单元定义
- 26. 休眠的SchemaExport和持久性单元
- 27. 如何解决在Tomcat上的持久性单元
- 28. Persistence.xml中的两个持久化单元
- 29. JPA多持久性持久性单元和JTA事务
- 30. 持久性单元如何在JPA中工作
该方法称为SchemaExport.setImportFile(String) – xmedeko 2011-01-13 13:41:05