【问题标题】:Spring Roo Multiple Vendor DatabasesSpring Roo 多供应商数据库
【发布时间】:2014-06-24 21:44:35
【问题描述】:
我有一个我喜欢的 Spring Roo 应用程序,它目前支持 Oracle。客户喜欢该应用程序,但只想使用 SQL Server。当然,我会将应用程序移植到 SQL Server 以获得该客户。问题是如何。
是否可以让一个带有 JPA / Hibernate 代码库的 Spring Roo 支持两个数据库?如果是这样,有什么好的方法来解决它?
另一种方法是使用代码分叉,我希望避免这种情况,但如果必须的话,我会这样做。
谢谢。
【问题讨论】:
标签:
hibernate
jpa
web-applications
spring-roo
【解决方案1】:
移植数据库的一个好方法是使用Liquibase
支持两个数据库:
- 向persistence.xml 添加一个新的持久性单元,例如命名为persistenceUnit2
- 在 applicationContext.xml 中设置一个新的 DataSource、TransactionManager 和 EntityManagerFactory,它使用新的持久性单元 persistenceUnit2
-
注释实体以使用新的持久性单元:
@RooJpaActiveRecord(persistenceUnit = "persistenceUnit2")
类实体