我在谷歌和各种论坛上搜索了我的问题的答案,但找不到解决方案。我目前正试图通过在文件中添加一个持久性单元来修改persistence.xml。
此问题的解决方案始终“在创建EntityManagerFactory(或EntityManager)时传递属性的Map”,但我需要将新的持久单元保存在persistence.xml中,因为应用程序将具有100个或更多持久性单元,每个租户将注册一个服务,每个租户都有自己的数据库。我目前使用EclipseLink 2.3.3作为我的JPA实现,EJB 3.1和jboss 7.1.1.Final作为我的应用程序服务器。
是否有可能在运行时(即时)修改persistence.xml?在运行时修改persistence.xml
0
A
回答
2
persistence.xml是一个已部署的工件,所以在运行时很难修改。我认为传递一个属性映射到createEntityManagerFactory是你最好的解决方案,你有什么问题呢?
您可能还想尝试使用持久性提供程序API,使用PersistenceUnitInfo的createContainerEntityManagerFactory()。
而且,考虑使用的EclipseLink的多租户支持,
http://www.eclipse.org/eclipselink/documentation/2.5/solutions/multitenancy.htm
相关问题
- 1. 在运行时修改persistence.xml
- 2. 如何在运行时更改persistence.xml
- 3. 在运行时修改NSDictionary
- 4. 在运行时修改propertyGrid
- 5. PHP运行时类修改
- 6. 运行时修改strings.xml
- 7. 在运行时创建jrxml文件并在运行时修改
- 8. 在运行时修改程序集?
- 9. 在运行时修改Datepicker翻译
- 10. 在运行时修改JVM参数
- 11. 在Django运行时修改urlpatterns
- 12. 在运行时修改向量
- 13. 修改的ListView的ItemTemplate在运行时
- 14. 在运行时修改TableAdapter命令
- 15. 在运行时修改.resx文件
- 16. 在运行时修改导轨模型
- 17. 在运行时创建/修改枚举
- 18. 在运行时修改材质
- 19. 在运行时修改JVM标志
- 20. 在运行时修改CABasicAnimation的setvalue?
- 21. 在运行时修改视图
- 22. C++在运行时修改资源
- 23. 在运行时扩展/修改NHibernate类
- 24. ItemsControl的在运行时修改
- 25. 修改在运行时的ORM模型
- 26. 在运行时修改simulink模型
- 27. 在运行时修改视图模型
- 28. 重写或修改在运行时
- 29. Django在运行时修改DATABASE_HOST
- 30. 在运行时修改字体
感谢您的回答,我使用的createContainerEntityManagerFactory()创建托管的EntityManager的容器,我的问题是,我不t在部署时有租户或为租户创建的数据库的数量(我正在实施数据库策略),因此我需要在运行时创建持久性单元,并将其保存以防万一发生在服务器上并需要重新启动。 – Giuliano