Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.0, 1.0.1, 1.0.2
    • Fix Version/s: 1.0.3, 1.1.1, 1.2.0
    • Component/s: kernel
    • Labels:
      None

      Description

      Entities are flushed if the entity is serialized or if the detach and detachAll methods are invoked.

      Similar to OPENJPA-119 I believe this is a remnant of the JDO persistence layer. Whether this is desirable in JPA or not, we need to be consistent whether the entity is detached via clear, or the detach methods.

      To resolve the problem I propose adding a new Compatibility option : flushBeforeDetach. If this is set to true we'll keep the current JDO-like behavior. If false then we'll just detach. I believe the same setting could apply when entities are serialized although it might be clearer to have a separate option for serialization.

      In the 1.0.x branch the flushBeforeDetach setting will only take effect for the detach, detachAll and serialization path. It will not affect the EntityManager.clear() method - in order to maintain backwards compatibility.

      In 1.2.x + the clear method will also defer to the flushBeforeDetach setting.

        Activity

        Michael Dick created issue -
        Hide
        Patrick Linskey added a comment -

        Why is this still listed as open?

        Show
        Patrick Linskey added a comment - Why is this still listed as open?
        Patrick Linskey made changes -
        Field Original Value New Value
        Fix Version/s 1.1.0 [ 12312344 ]
        Patrick Linskey made changes -
        Fix Version/s 1.1.0 [ 12312344 ]
        Fix Version/s 1.1.1 [ 12313177 ]
        Hide
        Michael Dick added a comment -

        Sorry Patrick, I didn't notice your update until now. The changes currently do not affect the EntityManager.clear() method contrary to my earlier remarks in the issue.

        For now I'm going to close the issue, if we need to link em.clear with em.detach then we can open a sub task.

        Show
        Michael Dick added a comment - Sorry Patrick, I didn't notice your update until now. The changes currently do not affect the EntityManager.clear() method contrary to my earlier remarks in the issue. For now I'm going to close the issue, if we need to link em.clear with em.detach then we can open a sub task.
        Michael Dick made changes -
        Resolution Fixed [ 1 ]
        Status Open [ 1 ] Closed [ 6 ]

          People

          • Assignee:
            Michael Dick
            Reporter:
            Michael Dick
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development