OpenJPA
  1. OpenJPA
  2. OPENJPA-925

Bidirectional OneToOne relation incorrectly set in loadEagerJoin

    Details

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

      Description

      A test scenario uncovers a bug in eager loading bidirectional OneToOne relation.

      OneOneParent has a bidirectional OneToOne relation with OneOneChild as annotated as following:

      @Entity
      public class OneOneParent {
      ...
      @OneToOne(mappedBy="parent")
      private OneOneChild child;
      }

      @Entity
      public class OneOneChild {
      ...
      @OneToOne
      private OneOneParent parent;
      }

      Testcase:

      String query = "select c FROM OneOneChild c";
      Query q = em.createQuery(query);
      List list = q.getResultList();

      for (int i = 0; i < list.size(); i++)

      { OneOneChild c = (OneOneChild) list.get(i); assertEquals(c, c.getParent().getChild()); }

      We expect c equals c.getParent().getChild(), but instead got assertion failure.

      It seems to be a bug introduced in performance improvement work (the related issues: OPENJPA-292 & OPENJPA-744).

      1. OPENJPA-925-branches12x.patch
        10 kB
        Donald Woods
      2. OPENJPA-925-branches12x.patch
        10 kB
        Donald Woods

        Issue Links

          Activity

          Hide
          Donald Woods added a comment -

          Catalina, this looks like like it resolved my testcase for OPENJPA-919, so can we get this back ported to the 1.2.x branch?
          I'll create a patch and attach it, as I need to apply this to my local 1.2.x code and rerun the failing EJB TCK testcases for Geronimo to verify that this did fix our problems.

          Show
          Donald Woods added a comment - Catalina, this looks like like it resolved my testcase for OPENJPA-919 , so can we get this back ported to the 1.2.x branch? I'll create a patch and attach it, as I need to apply this to my local 1.2.x code and rerun the failing EJB TCK testcases for Geronimo to verify that this did fix our problems.
          Hide
          Donald Woods added a comment -

          Changes back ported from trunk to branches/1.2.x. This resolved the junit testcase attached in OPENJPA-919, but still need to run the EJB TCK on Geronimo before I can say its completely resolved.

          Show
          Donald Woods added a comment - Changes back ported from trunk to branches/1.2.x. This resolved the junit testcase attached in OPENJPA-919 , but still need to run the EJB TCK on Geronimo before I can say its completely resolved.
          Hide
          Donald Woods added a comment -

          Catalina, please apply this fix to the 1.2.x branch, as it fixed the EJB TCK failures we were seeing in Geronimo 2.1.4 with OpenEJB 3.0.1. Thanks.

          Show
          Donald Woods added a comment - Catalina, please apply this fix to the 1.2.x branch, as it fixed the EJB TCK failures we were seeing in Geronimo 2.1.4 with OpenEJB 3.0.1. Thanks.
          Hide
          Donald Woods added a comment -

          Updated patch for branches/1.2.x which includes the latest updates made to trunk in r745597.

          Show
          Donald Woods added a comment - Updated patch for branches/1.2.x which includes the latest updates made to trunk in r745597.
          Hide
          Catalina Wei added a comment -

          fix checked in under trunk revision r745408, and 1.3.x at r745409.

          Show
          Catalina Wei added a comment - fix checked in under trunk revision r745408, and 1.3.x at r745409.
          Hide
          Donald Woods added a comment -

          This also needs to be applied against the 1.2.x branch to resolve a EJB TCK issue found by Geronimo.

          Show
          Donald Woods added a comment - This also needs to be applied against the 1.2.x branch to resolve a EJB TCK issue found by Geronimo.
          Hide
          Donald Woods added a comment -

          Also applied to branches/1.2.x by Mike, so marking as resolved. thanks.

          Show
          Donald Woods added a comment - Also applied to branches/1.2.x by Mike, so marking as resolved. thanks.

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development