有一种方法可以在运行时更改persistence.xml中的jta-data-source 并保持管理模式
@PersistenceContext(unitName="BookUnit")
private EntityManager em;
(我知道我可以使用EntityManagerFactory,但我想保持托管模式,就像我之前写的那样)
我有一个以上的环境(本地,测试,产品)
对于每个环境,都有不同的jndi数据源
我不会为每个环境更改persistence.xml
文件
我想在代码中管理它
答案 0 :(得分:1)
有多种方法可以实现这种功能 -
1)在persistence.xml中使用环境变量并根据您的环境适当地初始化它们,即在启动服务器时将此变量初始化为适当的值
2)作为dev,test&的实例生产会有所不同,因为相同的JNDI名称会适当地配置您的数据源。
您的开发服务器上的例如配置您的数据流以连接到开发者数据库,类似于测试环境以测试数据库和生产到生产数据库。
我总是选择选项2 ,因为这是标准的做事方式。