I am aware of
http://hibernate.org/42.html
I have a web application which does complex stuff, charges a credit card via SOAP, does more complex stuff. If the second batch of complex stuff gets an exception the transaction is rolled back... and I have a problem. All record of making the payment will be gone. Next time through, the same card will be double charged.
How is this typically handled with hibernate? Do I get the underlying session and close/flush it? Will a new session magically open up? I don't see much hibernate API level stuff that relates to closing and opening a session mid stream.
In my case the backend is postgres/jdbc run under tomcat. The webapp is under xwork. And there is a session wrapped around everything -- which was recently fixed to actually work (before sessions were not in fact rolled back on a java exception).
Thus, the problem.