OpenJPA
  1. OpenJPA
  2. OPENJPA-732

Updates to entities via Lifecycle callback methods

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major 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.

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

        Issue Links

          Activity

          Hide
          Kevin Sutter added a comment -

          Testcase for this JIRA Issue.

          Show
          Kevin Sutter added a comment - Testcase for this JIRA Issue.
          Hide
          Albert Lee added a comment -

          Reopen issue due to test regression.

          Show
          Albert Lee added a comment - Reopen issue due to test regression.
          Hide
          Michael Dick added a comment -

          Re-attaching patches provided by B.J. Reed for issue OPENJPA-327. As it turns out the same fix resolves both issues and I'd like to use a single JIRA issue for tracking.

          Show
          Michael Dick added a comment - Re-attaching patches provided by B.J. Reed for issue OPENJPA-327 . As it turns out the same fix resolves both issues and I'd like to use a single JIRA issue for tracking.
          Hide
          B.J. Reed added a comment -

          Patches broke some other test cases...changing HashSet to LinkedHashSet (like current trunk version of BrokerImpl) fixes these

          Show
          B.J. Reed added a comment - Patches broke some other test cases...changing HashSet to LinkedHashSet (like current trunk version of BrokerImpl) fixes these
          Hide
          Donald Woods added a comment -

          was fixed in 1.2.2 and trunk, not 1.3.0

          Show
          Donald Woods added a comment - was fixed in 1.2.2 and trunk, not 1.3.0

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development