Hibernate implements automatic dirty checking so changes are automatically saved when the transaction is committed. This is a fundamental feature of Hibernate (and I suppose of any JPA-compliant implementation). Quote from the documentation:
Quote:
There is no need to call a particular method (like update(), which has a different purpose) to make your modifications persistent.
The save() and update() are used to associate transient or detached objects with a session.
Quote:
Many applications need to retrieve an object in one transaction, send it to the UI layer for manipulation, then save the changes in a new transaction
.....
Hibernate supports this model by providing for reattachment of detached instances using the Session.update() or Session.merge() methods