-
Notifications
You must be signed in to change notification settings - Fork 619
Closed
Labels
status: declinedA suggestion or change that we don't feel we should currently applyA suggestion or change that we don't feel we should currently applytype: enhancementA general enhancementA general enhancement
Milestone
Description
Michael Hunger opened DATAGRAPH-114 and commented
- static declarations on
@RelatedTo* annotations (like in JPA) -> don't like b/c of context ignorance - dynamic programatic fetching within the session context (by navigating the required relationships)
- use-case specific fetch-groups, declarative (w/ annotations) + use-case/fetch-group name as context when loading (would be also possible with repository annotations)
- use-case specific fetch groups that are "auto-learned" by the infrastructure when the user navigates relationshiops manually and then are stored as meta information so that at the next fetch with that use-case pre-fetches the data
- declare/define fetch-groups as cypher-queries or traversals (which might also be the "metadata" for Unit test that shows broken NodeBacking.getRelationshipTo #4)
- have a use-case specific version of the domain objects that just contain the subgraph that the use-case is interested in and no outgoing relationships elsewhere (aka. DDD aggregate) then the infrastructure can fetch this whole subgraph and return it, with the projection abilities the entities can still be projected to other types (and the fetch-group-subgraph could probably used within the domain model to define mapping-contexts/boundaries (DDD again).
Paradox of choice as always. I'd prefer either something like 5 as the advanced version or #6 as type safe explicit one. But probably something simpler for the start would be more sensible.
No further details from DATAGRAPH-114
Metadata
Metadata
Assignees
Labels
status: declinedA suggestion or change that we don't feel we should currently applyA suggestion or change that we don't feel we should currently applytype: enhancementA general enhancementA general enhancement