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

          No work has yet been logged on this issue.

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development