Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-732

Updates to entities via Lifecycle callback methods

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.1, 1.3.0
    • Fix Version/s: 1.2.2, 2.0.0-M2
    • Component/s: kernel
    • Labels:
      None

      Description

      http://n2.nabble.com/Updates-to-entities-via-Lifecycle-callback-methods-td1110631.html

      In a nutshell, if we are to allow the updating of the entities passed into the Lifecycle callback methods, then we have a couple of problems (given the scenario of updating the entity passed into the @PreUpdate method):

      o The designated @Version field is getting updated more often than desired causing the transaction to rollback.
      o The @PostUpdate method is getting invoked more than once.

      I will post a testcase shortly. If and when we decide to fix this, this simple testcase will need to be expanded to include the updating of entities in other scenarios as well.

      I am also getting verification from the JPA Expert Group as to whether these entities are supposed to be updatable or not. As one of the dev postings indicated, our OpenJPA documentation indicates that they are updatable. But, the JPA spec itself is not clear on this capability. Other vendors, such as Hibernate, allow for this.

        Attachments

        1. openjpa-732-test.zip
          6 kB
          Kevin Sutter
        2. OPENJPA-732-1.2.patch
          22 kB
          B.J. Reed
        3. OPENJPA-732-1.0.patch
          22 kB
          B.J. Reed

          Issue Links

            Activity

              People

              • Assignee:
                allee8285 Albert Lee
                Reporter:
                kwsutter Kevin Sutter
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: