2017-08-10 3 views
0

Ich habe einen sehr minimalen Test, der openJPA, JTA, Datenbankkonnektivität, Verbesserung richtig konfiguriert und keine Ausnahmen ausgibt, aber es bleibt nicht mit dem einfachen Code unten bestehen. Was muss ich noch zeigen oder was ist notwendig über die einfachen Anweisungen hinaus, um Datensätze in die db zu schreiben?openJPA konfiguriert nicht persistent

public class Manipulation00 { 
    public Manipulation00(){} 
    public void startUp(ServletContext sc){ 
       EntityManagerFactory emf = 
      (EntityManagerFactory)sc.getAttribute("emf"); 
     EntityManager em = emf.createEntityManager(); 
     Exemptions00 exempt00 = new Exemptions00(); 
     exempt00.setUpc("722430001166"); 
     exempt00.setDesc("KOMBUCHA,OG2,SEASONAL"); 
     em.persist(exempt00); 
    } 

} 

die persistence.xml

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> 
    <persistence-unit name="ediExemptions" transaction-type="JTA"> 
     <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> 
     <jta-data-source>java:app/ediExemptions</jta-data-source> 
     <class>tng.db02.Exemptions00</class> 
     <properties> 
      <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> 
      <property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO"/> 
      <property name="openjpa.jdbc.SynchronizeMappings" 
         value="buildSchema"/> 
      <property name="openjpa.ConnectionURL" 
         value="jdbc:derby://localhost:1527/ediExemptions"/> 
      <property name="openjpa.ConnectionDriverName" 
         value="org.apache.derby.jdbc.ClientDriver"/> 
      <property name="openjpa.ConnectionUserName" 
         value="root"/> 
      <property name="openjpa.ConnectionPassword" 
         value="admin"/> 
     </properties> 
    </persistence-unit> 
</persistence> 

Antwort

0

Ich würde vermuten, dass Ihre Transaktion festgeschrieben wird nicht eingehalten.

+0

Aber was brauche ich, um das Commit sonst zu erzwingen? –

+0

Sie müssen einen Transaktionskontext für Ihre Methode hinzufügen? – Rick