Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa 体育教学中的jta与非jta_Jpa_Jta - Fatal编程技术网

Jpa 体育教学中的jta与非jta

Jpa 体育教学中的jta与非jta,jpa,jta,Jpa,Jta,如果我在persistence.xml中同时提到jta和非jta数据源,那么提供者将如何确定使用什么以及何时使用?有没有办法在特定场景中强制使用非jta数据源?我正在使用IBM支持的OpenJPA 一些提供程序允许同时声明jta数据源和非jta数据源,并使用后者通过非jta连接进行优化读取(即,不会与正在进行的jta事务关联)。这是如何工作的,OpenJPA是否支持这一点? 很难理解为什么在persistence.xml中同时提到jta和非jta数据源。您不需要同时声明这两个数据源,您可能需要声

如果我在persistence.xml中同时提到jta和非jta数据源,那么提供者将如何确定使用什么以及何时使用?有没有办法在特定场景中强制使用非jta数据源?我正在使用IBM支持的OpenJPA

一些提供程序允许同时声明jta数据源和非jta数据源,并使用后者通过非jta连接进行优化读取(即,不会与正在进行的jta事务关联)。这是如何工作的,OpenJPA是否支持这一点?
很难理解为什么在persistence.xml中同时提到jta和非jta数据源。您不需要同时声明这两个数据源,您可能需要声明一个jta或非jta数据源。如果您使用jta数据源,您将在应用程序服务器中配置它,并在persistence.xml中声明。如果您不能使用jta数据源,您将在persistence.xml中配置JDBC连接

  • 可能您想要的是为数据源配置单独的持久性单元&然后相应地注入

    
    java:JTA_DS
    java:非JTA-DS
    
    现在,您可以为各个持久性单元创建
    EnityManager

    @PersistenceContext(unitName=“JTA\u DS”)

    私有实体管理器

    @PersistenceContext(unitName=“NON_JTA_DS”)

    private EntityManager\u nonjtmanager

  • 否则,您可以根据需要使用适当的数据源手动构建
    EntityManagerFactory
    。有关更多详细信息,请参阅链接


  • 似乎有些提供者优化了使用非jta数据源来执行不需要包含在事务中的查询。下面的URL有一个例子。希望了解这是如何工作的,以及这是否有效。-一些提供程序甚至允许同时声明jta数据源和非jta数据源,并使用后者通过非jta连接进行优化读取(即,不会与正在进行的jta事务相关联)。您知道是否可以安全地将同一数据源用于两个持久化单元?我试过了,似乎效果不错。@JaqenH'ghar它依赖于供应商,很少有人会支持它。可以参考这里-;这就解释了这种差异&它在哪里适用。
    <persistence-unit name="JTA_DS" transaction-type="JTA">
              <jta-data-source>java:JTA_DS</jta-data-source>
    </persistence-unit>
    <persistence-unit name="NON_JTA_DS" transaction-type="RESOURCE_LOCAL">
              <non-jta-data-source>java:NON_JTA_DS</non-jta-data-source>
    </persistence-unit>