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

Bidirectional OneToOne relation incorrectly set in loadEagerJoin

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2.0, 1.2.1, 1.3.0, 2.0.0-M1, 2.0.0-M2
    • 1.2.1, 1.3.0, 2.0.0-M2
    • None
    • 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).

      Attachments

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

        Issue Links

          Activity

            People

              mikedd Michael Dick
              fancy Catalina Wei
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: