1 Reply Latest reply on Sep 1, 2008 2:56 PM by pmuir

    Transaction semantics for manual flush persistent context

    jlogsdon

      Hello,

      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.