You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2013/10/19 14:25:41 UTC

[jira] [Created] (ISIS-571) To (hopefully) improve performance, use Render.EAGERLY as a hint to instruct JDO to eagerly load the collection (using a dynamic fetch group).

Dan Haywood created ISIS-571:
--------------------------------

             Summary: To (hopefully) improve performance, use Render.EAGERLY as a hint to instruct JDO to eagerly load the collection (using a dynamic fetch group).
                 Key: ISIS-571
                 URL: https://issues.apache.org/jira/browse/ISIS-571
             Project: Isis
          Issue Type: New Feature
          Components: Core, Objectstore: JDO
    Affects Versions: core-1.2.0, objectstore-jdo-1.1.0
            Reporter: Dan Haywood
            Assignee: Dan Haywood
             Fix For: objectstore-jdo-1.3.0, core-1.4.0


Information on JDO dynamic fetch groups at [http://www.datanucleus.org/products/datanucleus/jdo/fetchgroup.html#dynamic]

My thought is that Isis would spin through each of the classes, and look for those that have any collections annotated EAGERLY.  It would then programmatically define a JDO fetch group for each.

When the object is displayed, Isis would select ONE of these fetch groups and use it to avoid some of the N+1 issues.

NB: it probably would need to select just one of them, otherwise the resulting query submitted by DataNucleus would be of the form

SELECT
  FROM entity
  JOIN child_entity1 ON ...
  JOIN child_entity2 ON ...

ie, a rather large amount of data...



--
This message was sent by Atlassian JIRA
(v6.1#6144)