Validating domain objects hibernate part 5 dating george sampson
This is way you don't actually need to call session.update() for any object that is already in the session. Do you think an ORM is a transparent abstraction of your datastore, or do you think it's a set of data manipulation libraries? Its whole reason for existing is to remove the distinction between your in-memory object state and your database state.
It does provide low-level mechanisms to allow you to pry the two apart and deal with them separately, but by doing so you're removing a lot of Hibernate's value. If you don't want something persisted, don't change your persistent objects.
What about setting single Session=false on the filter?
That might put your operations into separate sessions so you don't have to deal with the 1st level cache issues.
transaction 1 load object foo transaction 1 end update foo's properties (not calling or session.update but only foo's setters) validate foo (using hibernate validator) if validation fails ?With hibernate it is important to understand what exactly is going on under the covers.At every commit boundary it will attempt to flush all changes to objects in the current session regardless of whether or not the changes where made in the current transaction or any transaction at all for that matter.Validate your data before you update your domain objects.By all means validate domain objects as well, but that's a last line of defense.
Otherwise you will probably want to detach/attach your objects manually as the user above suggests.