Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-M2
    • Fix Version/s: 2.0.0-M3
    • Component/s: None
    • Labels:
      None

      Activity

      Hide
      Pinaki Poddar added a comment -

      Two cases should be distinguished

      a) where the owning instance of an embddable is also in the query result :
      can this get trickier by the order of projection terms i.e. the order in which these instances are loaded in memory?
      b) where the owning instance of an embddable is not in the query result

      In case (b) what is the proposed behavior when the embddable instance is mutated? Throw exception right there, warn or silently ignore changes on commit/merge?

      Show
      Pinaki Poddar added a comment - Two cases should be distinguished a) where the owning instance of an embddable is also in the query result : can this get trickier by the order of projection terms i.e. the order in which these instances are loaded in memory? b) where the owning instance of an embddable is not in the query result In case (b) what is the proposed behavior when the embddable instance is mutated? Throw exception right there, warn or silently ignore changes on commit/merge?
      Hide
      Catalina Wei added a comment -

      Two cases should be distinguished (using an example, in which Address is embedded within Employee):

      a) where the owning instance of an embddable is also in the query result :
      (1) select e, e.address from Employee e
      or
      (2) select e.address, e from Employee e

      b) where the owning instance of an embddable is not in the query result:

      (3) select e.address from Employee e

      In the above 3 queries, the result of selection 'e.address' are non-managed embeddable object that can not be further updated. The result of selection 'e' contains embeddable address that are managed and are update-able.

      If DataCache/QueryCache are enable, non-managed embeddables are not cached in DataCache but cached in QueryCache.

      Show
      Catalina Wei added a comment - Two cases should be distinguished (using an example, in which Address is embedded within Employee): a) where the owning instance of an embddable is also in the query result : (1) select e, e.address from Employee e or (2) select e.address, e from Employee e b) where the owning instance of an embddable is not in the query result: (3) select e.address from Employee e In the above 3 queries, the result of selection 'e.address' are non-managed embeddable object that can not be further updated. The result of selection 'e' contains embeddable address that are managed and are update-able. If DataCache/QueryCache are enable, non-managed embeddables are not cached in DataCache but cached in QueryCache.

        People

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

          Dates

          • Created:
            Updated:
            Resolved:

            Development