我正在用JPA项目做一些EJB,它将一些实体映射/持久化到mysql数据库.
我在persistence.xml中定义了持久性单元,如下所示:
org.apache.openjpa.persistence.PersistenceProviderImpl
MyAppDS
然后,在tomee / conf / tomee.xml文件中,我已经定义了这样的数据源:
JdbcDriver com.mysql.jdbc.Driver
JdbcUrl jdbc:mysql://127.0.0.1:3306/MyAppDB
UserName root
Password 123
JtaManaged true
DefaultAutoCommit false
所有这一切工作正常,我创建MyApp.jar,将其部署到TomEE服务器,测试它,我在数据库中获取mysql表.
我的问题是“还有其他我可以定义数据源资源的地方吗?”
或者它必须在tomee / conf / tomee.xml文件中?
它可以在应用程序结构中的某个位置定义,在某些xml文件中,并在应用程序jar文件中部署到服务器?
解决方法:
这是JNDI数据源的重点,要在应用程序之外将其外部化,因此您无需重新编译或重新打包即可对其进行修改.所以最好这样离开.
出于测试目的,某些EE服务器(如JBoss(Wildfly))允许您在项目中定义它.
标签:java,jpa,ejb,tomee
来源: https://codeday.me/bug/20190831/1775575.html