这是
在下面的代码中我没有指定持久性单元,而是我已经使用过 非jta-数据源如何工作?是否可以这样做?
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="bookPU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<non-jta-data-source>java:/comp/env/jdbc/bookDS</non-jta-data-source>
<class>com.admin.Author</class>
<class>com.admin.Book</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
</persistence-unit>
</persistence>
答案 0 :(得分:0)
您的persistance.xml确实包含名为bookPU的持久性单元。您发布的第一个xml包含非jat数据源,第二个xml包含jta数据源。通常,非JTA数据源将用于单元测试用例,其中像JMS这样的其他资源不需要属于单个事务。但是在实际应用的情况下,我们使用JTA数据源,其中涉及多个XA资源,如数据库,JMS等。
有关JTA和非JTA数据源之间的区别,请参阅URL:Difference between a "jta-datasource" and a " resource-local " datasource?。