When using a persistent context with manual flush mode, what happens when a transactional method updates an entity, and then performs a rollback? Do the entities updates in the PC that happened only during the last transaction get rolled back?
There are some possibilities:
1. The entity updates are not rolled back. If this is the case then the transactional semantics apply only to read operations? This is inconsistent.
2. Since the update model/Invoke Application phases are processed in a Seam transaction, all entity changes in this Seam transaction are rolled back, but any previous updates are kept in the PC. Ideal but I don't think this is the case (haven't read this anywhere).
3. Same as 2. except PC must be cleared. This also violates transactional semantics.
Thanks ahead of time.
Ask on the hibernate forum