tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
227
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    flo_hr flo_hr ist offline Mitglied Bronze
    Registriert seit
    Oct 2006
    Beiträge
    36
    Hey... ,

    ich habe ein merkwürdiges Problem beim Speichern über Hibernate:
    Folgende Umgebung habe ich:
    - Tomcat 6.0.32
    - jdk 1.6.24
    - hibernate 3

    Ich möchte in meinem Projekt einen ganz einfach Datensatz über Hibernate in die Datenbank speichern. Habe auch schon Erfahrung mit Hibernate.
    Das speichern eines Datensatzes klappt auch wunderbar mit einer MySQL DB 5.1x.
    Jetzt habe ich eine MySQL DB 5.5.14 installiert und das speichern funktioniert nicht mehr.

    Im LOG sehe ich das Hibernate ein INSERT macht:
    Hibernate: insert into user (login_name, login_password, id) values (?, ?, ?)

    Es fällt auch keine Exception oder sonst eine Fehlermeldung. Der Datensatz kommt aber einfach nicht mehr in der DB an. Datensätze auslesen funktioniert aber.
    Sobald ich auf die MySQL DB 5.1x umstelle funktioniert wieder alles.

    Verwende auch schon den neuste JDBC Treiber.

    Hat irgendjemand eine Idee wo das Problem liegen könnte****

    vielen dank und viele grüße
    florian
     

  2. #2
    SE Tutorials.de Gastzugang
    Also ohne mich jetzt mit Hibernate auszukennen würde ich mal in die Rechte der DB gucken. Alternativ solltest du dir mal eine kleine App schreiben die Daten in die DB einträgt. Sollte das funktionieren liegt es warscheinlich an Hibernate ... sollte aber auch die Test-App irgendwie fehlschlagen solltest du in dieser wenigstens etwas mehr Exception-Handling haben um zu sehen ob nicht doch irgendwelche Exceptions von Hibernate geschluckt werden.
     

  3. #3
    flo_hr flo_hr ist offline Mitglied Bronze
    Registriert seit
    Oct 2006
    Beiträge
    36
    Habe mittlerweile was herausgefunden.

    Folgendes hat mit der Verwendung von MySQL DB 5.1 funktioniert:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    public void saveUser(User user) {
            Session session = HibernateUtil.getSessionFactory().getCurrentSession();
            session.beginTransaction();
            session.saveOrUpdate(user);
            session.flush();
            session.close();
    }

    Mit der Verwendung von MySQL DB 5.5 muss ich die Transaktion commiten, dann kommt es auch in der DB an.
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    public void saveUser(User user) {
            Session session = HibernateUtil.getSessionFactory().getCurrentSession();
            Transaction transaction = session.beginTransaction();
            session.saveOrUpdate(user);
            session.flush();
            transaction.commit();
    }

    ich setze mal den Punkt auf erledigt ...

    trotzdem vielen dank für deine Antwort...
    gruss florian
     

  4. #4
    SE Tutorials.de Gastzugang
    Naja das du die Transaktion auch commiten musst solltest du eigentlich wissen wenn du schon mit einer transaktionellen Datenbank arbeitest.
     

Ähnliche Themen

  1. Hibernate Insert/Update - 2 Tabellen, ein Insert?
    Von Lampe im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 5
    Letzter Beitrag: 28.05.09, 10:56
  2. Spring2 + Hibernate + Annotations + Service + DAO > insert ?
    Von Nobody im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 8
    Letzter Beitrag: 15.05.09, 12:00
  3. Datenbank löschen mit Hibernate
    Von HerrRitschwumm im Forum Java
    Antworten: 3
    Letzter Beitrag: 17.09.07, 22:14
  4. Hibernate - Datum Insert
    Von y0dA im Forum Java
    Antworten: 3
    Letzter Beitrag: 19.06.07, 10:12
  5. Hibernate - Exception bei insert
    Von y0dA im Forum Java
    Antworten: 33
    Letzter Beitrag: 29.05.07, 12:40