I was following the hotel example and have something like this...
@Begin
public void editPosition(EmployerPosition pos) {
this.employerPosition = mgr.merge(pos);
occupation = employerPosition.getFixedPosition().getOccupation();
category = occupation.getOccupationCategory();
state = employerPosition.getMajorCity().getState();
}
but if I do that, every time I change a field, it changes the employerPosition object and the db tx commits for some reason!!!! I am very confused why it is being committed to the database. I started a long transaction and don't want changes committed if the user cancels out of the conversation. this is a 3 step wizard and the user should be able to cancel but right now all changes are written immediately. Why is this happening? If I don't do the mgr.merge(though the hotel booking does that too), it then results in LazyInit exception on the next line. Any ideas on how to solve this problem?
I wish there was a great seam example of creating a new something and editing that same something with the same exact code which is what I am trying to do...convert the new wizard into an edit wizard as well.
thanks,
Dean