DerGrinsemann
Mitglied
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.
Marco
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:
logger.debug("***** Get");
Person person = this.personDAO.findById(personForm.getId());
logger.debug("***** Update");
this.personDAO.update(person);
Code:
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:
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
Zuletzt bearbeitet: