OpenJPA
  1. OpenJPA
  2. OPENJPA-1770

Inconsistent behaviour when fetching an Entity that has a null embeddable and the DataCache is enabled

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0, 2.1.0
    • Fix Version/s: 2.1.0
    • Component/s: datacache, kernel
    • Labels:
      None

      Description

      While investigating the failures for OPENJPA-1469 I found that when the DataCache is enabled we behave differently when finding an Entity that has an empty/null embeddable. Take the following domain model:

      @Entity
      class A

      { @Id int id; @Embeddable Emb emb; ... }

      @Embeddable
      class Emb

      { .... }

      The scenario where this is observed is when the datacache is not enabled and I persist Entity [A] with a null Emb. In a new persistence context I search for that same Entity, Emb is now an empty embeddable. In that same case when the datacache is enabled the find operation returns an Entity with a null embeddable. This is because the DataCache knows that Emb is null, when the data is retrieved from the database we don't know if it should be null or empty.

      The datacache behavior is probably more correct, but it is inconsistent with the non-datacache behavior. Since the datacache is supposed to be transparent to the application I am going to make this two cases operate in the same manner. I asked posted this observation to the dev mailing list[1] but didn't receive any responses.

      [1] http://openjpa.markmail.org/thread/xyytunrvcciv5ura

        Issue Links

          Activity

          Hide
          Rick Curtis added a comment -

          Committed revision 987321 to trunk.

          Show
          Rick Curtis added a comment - Committed revision 987321 to trunk.

            People

            • Assignee:
              Rick Curtis
              Reporter:
              Rick Curtis
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development