如何以编程方式配置 transaction-type="JTA"(没有 persistence.xml")?
How to configure transaction-type="JTA" programmatically (without persistence.xml")?
我可以在配置 java class 中创建 EntityManagerFactory
时设置 transaction-type "JTA"
而无需任何 .xml 配置吗?
您可以尝试以这种方式覆盖 javax.persistence.transactionType
属性:
Map configOverrides = new HashMap();
configOverrides.put("javax.persistence.transactionType", "JTA");
EntityManagerFactory emf = Persistence.createEntityManagerFactory("yourPersistenceUnitName", configOverrides);
但是如果 META-INF/persistence.xml
文件在您的类路径中不存在,看起来会引发 PersistenceException
异常。
请参阅 documentation(2.2.2 部分。自举)。
我可以在配置 java class 中创建 EntityManagerFactory
时设置 transaction-type "JTA"
而无需任何 .xml 配置吗?
您可以尝试以这种方式覆盖 javax.persistence.transactionType
属性:
Map configOverrides = new HashMap();
configOverrides.put("javax.persistence.transactionType", "JTA");
EntityManagerFactory emf = Persistence.createEntityManagerFactory("yourPersistenceUnitName", configOverrides);
但是如果 META-INF/persistence.xml
文件在您的类路径中不存在,看起来会引发 PersistenceException
异常。
请参阅 documentation(2.2.2 部分。自举)。