I took a look at the code proposed here:
http://www.hibernate.org/43.html#A5
with respect to implementing session-per-conversation. I think I understand it pretty well, but I don't know about a certain situation. Suppose I have a series of pages that act as a "wizard" to let you edit a CustomerAccount object. On the first page, I load up my CustomerAccount object into the current session and I show the view which allows the user to update a subset of the fields in it. They click next and the second page comes up and they edit another subset, yadda yadda yadda. Anyway, half-way through the wizard, they decide to go do something else in my application (stupid users) without completing the current conversation. Suppose they go do something else which completes a conversation. Now, the session is flushed and everything that was previously committed would be written to the database, including the half-baked edit of the CustomerAccount object. Is this expected behavior?