JDO
  1. JDO
  2. JDO-589

Allow makePersistent and deletePersistent outside a transaction

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: JDO 2 maintenance release 1 (2.1)
    • Fix Version/s: JDO 3.2
    • Component/s: api, specification, tck
    • Labels:
      None

      Description

      JPA allows users to call makePersistent outside a transaction, and then when beginning and committing a transaction, the instances are made persistent.

      This is similar to nontransactional dirty in which the managed instances can be modified outside a transaction and then the changes committed within a transaction.

      From the JPA spec, "When an EntityManager with an extended persistence context is used, the persist, remove, merge, and refresh operations may be called regardless of whether a transaction is active. The effects of these operations will be committed to the database when the extended persistence context is enlisted in a transaction and the transaction commits."

      This behavior should not be the default behavior (for backward compatibility reasons if not the principle of least surprise) so it should be under control of a PersistenceManager and PersistenceManagerFactory flag, perhaps NontransactionalNew.

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              Craig L Russell
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:

                Development