MySQL Nach wiederholtem Update falsche Werte (im Speicher?)

StefanKa

Mitglied
Mein Projekt ist in der StandAllone Version bis auf ändern und löschen der Datensätze fertig geworden.
Und genau an den zwei Punkten, genauer an Änderungen an Datensätzen hab ich wieder ein Problem.

Ich hoffe die CodeTeile reichen um mein Problem zu verstehen. Erstmal in Text Form.
Ich habe eine JTabel, die von einem AbstractTabelModel ihre Daten kriegt. Klappt bis hier hin. Jetzt habe ich ein ActionEvent per Doppelklick auf die Tabel, welche mir ein JDialog öffnet, um änderungen an der gewälten Zeile(DatenSatz) vorzunehmen, klappt auch. Wenn ich jetzt im JDialog den Datensatz ändere, wird der mir auch sofort in der Tabel mit den neuen Werten angezeigt. (aktualisiert durch refresh Methode). Wiederhole ich diesen Vorgang ein zweites Mal, liefert mir die JTabel nicht den alten Wert. Sprich UpdateVorgang funktioniert nur einmal.

Also wie gesagt, beim ersten öffen des JDialog funktioniert alles, beim zweiten öffen des JDialog, wir zwar in MySql aktualiesiert, aber die Tabel, sprich das TabelModel, wie auch die RaumList liefert mir noch den alten Wert zurück (aus dem speicher, oder woher auch immer).
Hatte richtung em.flush() versuche angestellt, aber ergebnislos.
Wo liegt das Problem, dass er beim zweiten mal mit der ManagerAbfrage, "public List alleRaum()", mir die original und nicht die geänderten Daten liefert ?

Jetzt die Codes
Die UpdateMethode aus dem Manager
Java:
public Object updateRaum(int id, String raumName, String raumBemerkung) {

        Raum raum = (Raum) em.find(Raum.class, id);
        if (raum != null) {
            raum.setRaumName(raumName);
            raum.setRaumBemerkung(raumBemerkung);

            em.getTransaction().begin();
            em.persist(raum);
          
            em.getTransaction().commit();
            
            return raum;
        }
        return -1;
    }
Die Abfrage Methode aus dem Manager:
Mit dem system.out hatte ich geprüft, was nach dem zweiten Update Vorgang, in der raumList vorhanden ist. Und diese raumList liefert mir nach dem zweiten Updatevorgang den OriginalWert zurück
Java:
public List alleRaum() {
        List<Raum> raumList = new ArrayList<>();
              
        raumList = em.createQuery("SELECT r FROM Raum r").getResultList();
        for (int i = 0; i < raumList.size(); i++) {
            System.out.println("nach" + raumList.get(i).getRaumBemerkung());
            
        }
        return raumList;
    }
Die Refresh Methode aus dem AbscractTabelModel:
Java:
 public void refresh() {
        raumList = man.alleRaum();
        fireTableDataChanged();
    }
Und zu guter Letzt noch der Aufrauf der Ändern Methode, im JDialog
Java:
 private void jButtonDialogÄndernActionPerformed(java.awt.event.ActionEvent evt) {                                                    
        
        
        man.updateRaum(      (Integer.parseInt(jLabelDialogId.getText())), jTextFieldDialogName.getText(), jTextAreaDialogBem.getText()     );
        model.refresh();
        jDialogEditRaum.dispose();
     
       

// TODO add your handling code here:
    }
 

StefanKa

Mitglied
Hab es soweit hingekriegt.
Bitte um Antwort, ob das eine saubere Lösung ist.

Habe bei der Methode "public List alleRaum()"
ein "em.clear();" vorangestellt. Nun liefert er mir immer die aktuellen Werte aus der Datenbank. Auch nach mehrmaligen Updates.

Hier noch die komplette Methode aus der ManagerClass
Java:
public class Manager {

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("DB1PU");
    EntityManager em = emf.createEntityManager();


// .............

public List alleRaum() {
        
        List<Raum> raumList = new ArrayList<>();
        em.clear();        //  <------   Diese Zeile ist NEU
        raumList = em.createQuery("SELECT r FROM Raum r").getResultList();
                
        return raumList;
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T SQL-Statement Datenbank nach SQL Statement schließen? Datenbankprogrammierung 7
M Datenbank Zugraff nach Umwandlung in .jar-Datei nicht mehr möglich Datenbankprogrammierung 4
N Datenbank abfragen nach bestimmten Wort Datenbankprogrammierung 7
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
J Sql Anfrage nach einer Zeile beenden Datenbankprogrammierung 6
ruutaiokwu SQL-Dump nach MariaDB laden? Datenbankprogrammierung 6
T JPA: Nach String statt Primärschlüssel suchen Datenbankprogrammierung 9
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
S MySQL JTable zeigt nach Datenbankabfrage eine Spalte zu viel an Datenbankprogrammierung 0
D MySQL Suche nach Max Value in einer Tabelle Datenbankprogrammierung 7
M SQLite Suche nach String Datenbankprogrammierung 4
G PostgreSQL Nach Monaten auf einmal ClassNotFound-Exception Datenbankprogrammierung 3
C MySQL JTable in JScrollPane nach insert aktualisieren Datenbankprogrammierung 3
J SQLite Datenverlust nach beenden des Programmes Datenbankprogrammierung 21
J Fehlende DatenbankView nach einbeziehen von JDBC Datenbankprogrammierung 3
B Leerzeichen nach Umlaut -> Sichtbar erst nach Query! Datenbankprogrammierung 6
D Zeit von SQL nach Java Datenbankprogrammierung 2
M DB-Zugriff funktioniert nach JAR-Erstellung nicht mehr Datenbankprogrammierung 3
AssELAss Oracle Suche nach Umlauten Ä und Ae ermöglichen Datenbankprogrammierung 11
G HSQLDB Inserts/Updates sind nach Neustart der Anwendung Datenbankprogrammierung 1
Z PDF nach Formate sortieren Datenbankprogrammierung 3
A Nach Export mysql Verbindung zur Datenbank nicht möglich, was tun? Datenbankprogrammierung 7
F Java SQL Syntax Error erst nach mehrmaligen Aufrufen Datenbankprogrammierung 3
R vor/nach INSERT mysql-SETS absetzen Datenbankprogrammierung 2
C Programm wird nach DB-Eintrag nicht weitergeführt Datenbankprogrammierung 5
E Abfrage nach existierender SQL-Tabelle Datenbankprogrammierung 7
P MySQL Verbindung nach außen sehr langsam Datenbankprogrammierung 4
S Nochmals: ID ermitteln nach Insert Datenbankprogrammierung 2
P JPA- Entities bleiben nach dem Löschen (unsichtbar?) in der Datenbank Datenbankprogrammierung 6
GianaSisters MS SQL unter Netbeans OK - nach konvertieren Absturz Datenbankprogrammierung 6
R SQL Abfrage, je nach ausgewählten Parametern Datenbankprogrammierung 11
I Zugriff auf Datenbank nach Erstellen einer Executable Jar Datei verweigert Datenbankprogrammierung 10
M Datenbankeintrag bleibt nach Löschen in JSP vorhanden Datenbankprogrammierung 8
0 Filtern nach mehreren Kriterien Datenbankprogrammierung 4
T filtern nach expliziten Worten trotz LIKE '%Wort%' Datenbankprogrammierung 2
E Nach Server wechsel Datenbank fehler ?!? Datenbankprogrammierung 3
F SQL ordnen nach zueinander in Verhältnis gesetzten Spaltenwerten Datenbankprogrammierung 11
J SQL: Sortierung nach Wortlänge Datenbankprogrammierung 2
Java.getSkill() Datensatz / Tupel automatisch nach xy Tagen / Stunden löschen Datenbankprogrammierung 7
T JPA: NullPointerException nach persist Datenbankprogrammierung 3
T Eintragung in einer Spalte nach Abfrage Datenbankprogrammierung 11
E Hibernate Session closed nach Transaction commit? Datenbankprogrammierung 7
K Rundungsfehler bei Gleitkommazahlen von Java nach SQL Datenbankprogrammierung 2
B Spaltennamen von MySQL Datenbank nach Java auslesen Datenbankprogrammierung 10
alexpetri Problem mit jdbc MS Access / nach 670 inserts ist schluss. Datenbankprogrammierung 4
tfa Apache DBCP: Reconnect nach Timeout? Datenbankprogrammierung 3
M mySQL zugriff funktionert nach ca4 stündiger laufzeit nicht Datenbankprogrammierung 6
G Hilfe: Werte sind alle x2 (oder mehr) nach JOIN Datenbankprogrammierung 13
M sql-code für suche in tabelle nach höchster transaktionsnr Datenbankprogrammierung 12
T ibatis + "generated p-key" nach insert? Datenbankprogrammierung 24
G Herausfinden des Primary Keys nach INSERT-Kommando? Datenbankprogrammierung 4
T Tabellen aus Datenbank 1 nach Datenbank 2 Datenbankprogrammierung 2
C Resultset nach connection close weiterreichen Datenbankprogrammierung 5
E JDBC, ForwardOnly bei ResultSet nach Uebergabe Datenbankprogrammierung 4
G Suchen nach Autowerten in Access-DB Datenbankprogrammierung 20
D JAVA hängt nach SQL Abfrage Datenbankprogrammierung 7
I Nach export zur .jar keine verbindung mehr Datenbankprogrammierung 7
M Datenbankverbindung bricht nach ca. 12 Stunden Verbindung ab Datenbankprogrammierung 3
R Nach String in MySQL datenbank suchen Datenbankprogrammierung 7
M Daten von MySQL nach MSSql probleme beim schreiben Datenbankprogrammierung 3
G File nach Blob konvertieren ? Datenbankprogrammierung 6
M Abfrage trennt Ergbnis eines Atrributes nach den Leerzeichen Datenbankprogrammierung 4
F Treiber nachladen oder nach Bedarf Datenbankprogrammierung 4
P Primärschlüssel direkt nach der Eingabe wieder auslesen Datenbankprogrammierung 7
R MySQL Syntax für suche nach Textteil Datenbankprogrammierung 8
T compiler fehler: should be mapped with insert="false" update="false" Datenbankprogrammierung 1
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
OnDemand Mysql UPDATE if condition Datenbankprogrammierung 14
OnDemand Select vs Update ins blaue, was ist teurer? Datenbankprogrammierung 11
OnDemand MySQL Trigger löst nicht aus bei Hibernate Update Datenbankprogrammierung 12
R HSQLDB ResultSet update aktualisiert DB, aber nicht das ResultSet Datenbankprogrammierung 2
F UPDATE - Befehl nur in einer Zeile Datenbankprogrammierung 11
L SQL-Statement INSERT INTO ON DUPLICATE KEY UPDATE funktioniert nicht Datenbankprogrammierung 5
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
OnDemand Update auf Mysql läuft nicht durch Datenbankprogrammierung 30
OnDemand SQL-Statement Update mit innerjoin Datenbankprogrammierung 18
OnDemand Update table SET will nicht Datenbankprogrammierung 9
P MySQL INSERT / UPDATE MySQL - perStoredProcedure oder direkt im Code Datenbankprogrammierung 3
S Update Tabelle aus Textfeld Datenbankprogrammierung 2
S JPA: update von Schlüsselwerten Datenbankprogrammierung 2
ruutaiokwu sql server werte swappen beim update-vorgang mit unique-constraints..? Datenbankprogrammierung 2
M Update Befehl Datenbankprogrammierung 1
M SQL-Statement Datentypen in Kriterienausdruck unverdräglich bei Update auf DB von Java aus Datenbankprogrammierung 0
M SQL UPDATE richtig anwenden BITTE um HILFE Datenbankprogrammierung 3
M SQL UPDATE führt zu JAVA Absturz Datenbankprogrammierung 6
S HSQLDB Verbieten eines update auf eine bestimmte reihe Datenbankprogrammierung 4
M Derby/JavaDB Neu geschriebener Eintrag per UPDATE lässt sich nicht unmittelbar abrufen Datenbankprogrammierung 2
S UPDATE user Datenbankprogrammierung 4
R Fehler 2601 trotz SQL-UPDATE ? Datenbankprogrammierung 2
B DB Update via batch Datenbankprogrammierung 3
H Update ganze zeile Datenbankprogrammierung 4
R sqlite UPDATE wirkt nicht aus Java Datenbankprogrammierung 7
S ID Wert von Insert über jdbcTemplate.update Datenbankprogrammierung 3
D Error 1452: Cannot add or update a child row: a foreign key constraint fails Datenbankprogrammierung 15
D SQL Update auf eine Query möglich? Datenbankprogrammierung 4
5 Datenbank Update Datenbankprogrammierung 8
A Oracle Update Befehl in Datenbank anhand einer Schleife Datenbankprogrammierung 8
turmaline Oracle "Häppchenweises" Update durchführen Datenbankprogrammierung 4
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
D ArrayIndexOutOfBoundsException bei Update von JTable und Model Datenbankprogrammierung 13

Ähnliche Java Themen

Neue Themen


Oben