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)

Reply via email to