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