Search code examples
javaxmlpersistenceopenjpajta

persistence.xml transaction-type="JTA"


Is this perisistence.xml file correct, especially when i transaction-type="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="CollDocPU" transaction-type="JTA">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<class>model.entity.StudentAddSolution</class>
<class>model.entity.Lecturer</class>
<class>model.entity.Solution</class>
<class>model.entity.Student</class>
<class>model.entity.Course</class>
<class>model.entity.File</class>
<class>model.entity.CourseHasLecturer</class>
<class>model.entity.Mail</class>
<class>model.entity.StudentAtCourse</class>
<class>model.entity.Roles</class>
<class>model.entity.Task</class>
<class>model.entity.User</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
  <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:11080/myBase?zeroDateTimeBehavior=convertToNull"/>
  <property name="javax.persistence.jdbc.password" value="pass,"/>
  <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
  <property name="javax.persistence.jdbc.user" value="myBase"/>
  <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
</properties>


Solution

  • Are you getting an error?

    If you are using JTA I will suggest you use a DataSource as a provider of your connections.

    Such as:

    <?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="CollDocPU" transaction-type="JTA">
    <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
    <jta-data-source>datasource</jta-data-source> 
    <class>model.entity.StudentAddSolution</class>
    <class>model.entity.Lecturer</class>
    <class>model.entity.Solution</class>
    <class>model.entity.Student</class>
    <class>model.entity.Course</class>
    <class>model.entity.File</class>
    <class>model.entity.CourseHasLecturer</class>
    <class>model.entity.Mail</class>
    <class>model.entity.StudentAtCourse</class>
    <class>model.entity.Roles</class>
    <class>model.entity.Task</class>
    <class>model.entity.User</class>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    </persistence-unit>
    
    </persistence>
    

    BTW, you need to close all yours tags

    Regards