JPA Änderungen werden nicht gespeichert

Diskutiere Änderungen werden nicht gespeichert im Data Tier Forum; Hallo allerseits! Ich verzweifle an diesem Problem! Ich möchte mit OpenJPA in eine Datenbank speichern. Das hat anfangs wunderbar geklappt,...

  1. Noisefever
    Noisefever Neues Mitglied
    Hallo allerseits!

    Ich verzweifle an diesem Problem! Ich möchte mit OpenJPA in eine Datenbank speichern. Das hat anfangs wunderbar geklappt, aber dann hab ich das Enhancen der Klassen eingerichtet (also beim Builden, nicht mehr zur Laufzeit). Und plötzlich werden keine Änderungen mehr angenommen. Einfügen geht, Löschen geht. Aber nicht ändern. Nichtmal beim supereinfachen Test:

    Code (Java):

    public void test(){
            EntityManagerFactory emf = Persistence.createEntityManagerFactory(Datenbankname);
            EntityManager em = emf.createEntityManager();
            em.getTransaction().begin();
            User user = em.find(User.class, 10);
           
            System.out.println(user.username);
            user.password = "12345";
            em.persist(user);
            System.out.println("Before: "+user.password);
            em.getTransaction().commit();
            em.refresh(user);
            em.close();
            emf.close();
            System.out.println("After: "+user.password);
        }
     
    Konkret passiert da folgendes:
    Der User mit ID 10 wird geladen. Er hat kein Passwort. Ich ändere das Passwort. Ich gebe es zur Kontrolle aus. Er gibt 12345 korrekt aus. Ich speichere es sogar nochmal em.persist() ab - was ja ansich garnicht nötig ist. Dann commite ich es. Kaum refreshe ich ist das Passwort wieder leer.

    Also das gibts doch garnicht oder? Was läuft denn hier falsch? :autsch:
    Wie gesagt: enhance ich nicht beim Builden funktioniert das. Ich kann aber nicht auf das enhancen verzichten.

    Ich bin für jede Hilfe dankbar!

    Ach ja, die Klasse User:

    Code (Java):

    @Entity(name = "Users")
    public class User {
        @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
        public int id;
        @Column(nullable = false, length = 50)
        public String username;
        @Column(nullable = true, length = 150)
        public String password;
    }

     
    und die persistence.xml:

    [XML]
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.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_1_0.xsd">
    <persistence-unit name="Subsystem" transaction-type="RESOURCE_LOCAL">
    <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
    <class>dataclasses.User</class>
    <properties>
    <property name="openjpa.ConnectionDriverName" value="net.sourceforge.jtds.jdbc.Driver" />
    <property name="openjpa.ConnectionURL" value="jdbc:jtds:sqlserver://server/database" />
    <property name="openjpa.ConnectionUserName" value="xxxxx" />
    <property name="openjpa.ConnectionPassword" value="xxxxx" />
    <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema" />
    <property name="openjpa.RuntimeUnenhancedClasses" value="supported"/>
    </properties>
    </persistence-unit>
    </persistence>
    [/XML]
     
    Zuletzt bearbeitet: 14. Mai 2014
  2. Vielleicht hilft dir dieser Kurs hier weiter --> (hier klicken)
  3. Noisefever
    Noisefever Neues Mitglied
    ehrlich, keiner?
     
  4. Noisefever
    Noisefever Neues Mitglied
    Okay ich habs gefunden. Wens interessiert:

    Scheinbar wird Field Access nach dem Enhancen nicht mehr wahrgenommen, nur noch Property Access (Getter&Setter). Stehen tut das aber irgendwie nirgends - oder ich bin zu blöd das zu finden.

    Super, so kann man Zeit auch totschlagen.
     
Die Seite wird geladen...

Änderungen werden nicht gespeichert - Ähnliche Themen

JavaFX TableView - Änderungen werden nicht übernommen.
JavaFX TableView - Änderungen werden nicht übernommen. im Forum AWT, Swing, JavaFX & SWT
Änderungen am Quellcode werden nicht übernommen
Änderungen am Quellcode werden nicht übernommen im Forum IDEs und Tools
.Ini-Datei Wert Änderungen werden nicht angenommen
.Ini-Datei Wert Änderungen werden nicht angenommen im Forum Allgemeine Java-Themen
GMF Änderungen werden nicht übernommen
GMF Änderungen werden nicht übernommen im Forum Plattformprogrammierung
Änderungen im Frame werden zu spät durchgeführt
Änderungen im Frame werden zu spät durchgeführt im Forum Java Basics - Anfänger-Themen
Thema: Änderungen werden nicht gespeichert