tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
1359
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von DerGrinsemann
    DerGrinsemann DerGrinsemann ist offline Mitglied Silber
    Registriert seit
    May 2007
    Ort
    Wien
    Beiträge
    52
    Hallo!

    Dürfte wieder einmal einen Denkfehler begehen

    Ich lade in einem Service ein Domain-Objekt (person) und speichere es gleich wieder und obwohl ich mich in der gleichen Session befinde und am Domain-Objekt nichts ändere wird mein version-Zähler hochgezählt (Optimistische Sperre) und IMMER ein Update durchgeführt. Warum? Es befindet sich doch in der gleichen und gültigen Session und das Object ist Persistent.

    Code :
    1
    2
    3
    4
    
    logger.debug("***** Get");
    Person person = this.personDAO.findById(personForm.getId());
    logger.debug("***** Update");
    this.personDAO.update(person);

    Code :
    1
    2
    3
    
    Hibernate: select person0_.id as id0_0_, person0_.version as version0_0_, person0_.birthName as birthName0_0_, person0_.firstName as firstName0_0_, person0_.lastName as lastName0_0_, person0_.secondName as secondName0_0_, person0_.thirdName as thirdName0_0_ from Person person0_ where person0_.id=?
    Hibernate: update Person set version=?, birthName=?, firstName=?, lastName=?, secondName=?, thirdName=? where id=? and version=?
    Hibernate: select person0_.id as id0_0_, person0_.version as version0_0_, person0_.birthName as birthName0_0_, person0_.firstName as firstName0_0_, person0_.lastName as lastName0_0_, person0_.secondName as secondName0_0_, person0_.thirdName as thirdName0_0_ from Person person0_ where person0_.id=?

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    2007-05-31 16:13:59,420 DEBUG at.brisk.jazz.service.PersonFormService.updateFromPersonForm(PersonFormService.java:52) - ***** Get
    2007-05-31 16:13:59,423 DEBUG org.hibernate.impl.SessionImpl.<init>(SessionImpl.java:220) - opened session at timestamp: 11806208394
     
    ....
     
    2007-05-31 16:13:59,461 DEBUG at.brisk.jazz.service.PersonFormService.updateFromPersonForm(PersonFormService.java:55) - ***** Update
    2007-05-31 16:13:59,463 DEBUG org.hibernate.impl.SessionImpl.<init>(SessionImpl.java:220) - opened session at timestamp: 11806208394

    Marco
    Geändert von DerGrinsemann (31.05.07 um 16:24 Uhr)
     

  2. #2
    Avatar von DerGrinsemann
    DerGrinsemann DerGrinsemann ist offline Mitglied Silber
    Registriert seit
    May 2007
    Ort
    Wien
    Beiträge
    52
    Geb mir die Antwort selber

    Hab vergessen den TransactionManager richtig zu konfigurieren!

    Marco
     

Ähnliche Themen

  1. Spring und Hibernate
    Von y0dA im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 21.10.09, 14:30
  2. JSF - Hibernate - Exception bei Update (org.hibernate.NonUniqueObjectException)
    Von alan79 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 04.04.08, 06:44
  3. Antworten: 2
    Letzter Beitrag: 13.06.07, 09:24
  4. DTO, Spring und Hibernate
    Von DerGrinsemann im Forum Java
    Antworten: 2
    Letzter Beitrag: 08.06.07, 11:41
  5. Update, Transaktionen mit Hibernate und Spring
    Von DerGrinsemann im Forum Java
    Antworten: 2
    Letzter Beitrag: 05.06.07, 15:48