使用不同的数据库提供程序进行JPA开发与生产
我看过一些关于通过JPA连接到多个数据库/数据源的文档,但这并不是我想要做的。我想使用一个数据库提供者进行开发,使用一个完全不同的数据库提供者进行生产(可能还有QA)。这个问题也适用于支持具有不同数据库提供程序的不同生产环境(例如,DB2用于客户端1,Oracle用于客户端2,MySQL用于客户端3,等等) 就我而言,我想做以下工作:使用不同的数据库提供程序进行JPA开发与生产,jpa,db2,derby,development-environment,production-environment,Jpa,Db2,Derby,Development Environment,Production Environment,我看过一些关于通过JPA连接到多个数据库/数据源的文档,但这并不是我想要做的。我想使用一个数据库提供者进行开发,使用一个完全不同的数据库提供者进行生产(可能还有QA)。这个问题也适用于支持具有不同数据库提供程序的不同生产环境(例如,DB2用于客户端1,Oracle用于客户端2,MySQL用于客户端3,等等) 就我而言,我想做以下工作: 将JPA与ApacheDerby一起用于开发目的 将JPA与IBM DB2一起用于生产目的 我们不使用Spring:( 使用MyBatis,我可以简单地为我想
- 将JPA与ApacheDerby一起用于开发目的
- 将JPA与IBM DB2一起用于生产目的
请告知您建议采用什么方法来适应这种情况。这是一种非常常见的情况,如果您正确使用JPA,则无需复制任何内容。您可以使用相同的
@Entity
类和DAO
如果您使用的是Maven,则可以针对某些Maven配置文件进行连接设置,例如,为每个环境创建配置文件,然后让Maven资源筛选填充
persistence.xml
文件中的属性(请参阅).这是一个非常常见的场景,如果正确使用JPA,您不需要复制任何内容。您可以使用相同的@Entity
类和DAO
如果您使用的是Maven,则可以针对某些Maven配置文件进行连接设置,例如,为每个环境创建配置文件,然后让Maven资源筛选填充
persistence.xml
文件中的属性(请参阅).并且您也可以在JPA中为每个数据库提供XML映射;如果需要在不同的数据存储上使用不同的模式,则不使用注释;如果需要在不同的数据存储上使用不同的模式,则也可以在JPA中为每个数据库提供XML映射;如果需要在不同的数据存储上使用不同的模式,则不使用注释