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

Cache mode properties passes in to em.find and lock methods are not transient

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-beta2, 2.0.0-beta3, 2.0.0
    • Fix Version/s: 2.0.0
    • Component/s: jpa
    • Labels:
      None

      Description

      Cache mode properties passes in to em.find and lock methods are not transient and permanently
      set to the entity manager, which caused subsequent em operations to use the undesired
      cache mode.

      public <T> T find(Class<T> cls, Object oid, LockModeType mode, Map<String, Object> properties) {
      assertNotCloseInvoked();
      configureCurrentCacheModes(getFetchPlan(), properties); <<---- pushFetchPlan call should be performed first before the getFetchPlan
      configureCurrentFetchPlan(pushFetchPlan(), properties, mode, true);
      try

      { oid = _broker.newObjectId(cls, oid); return (T) _broker.find(oid, true, this); }

      finally

      { popFetchPlan(); }

      }

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: