Base class for all Nodes This is always added to the schema All domain entities which can be retrieved via the api and should be persisted in the database should inherit from this class Two nodes are equal iff they have the same id, or, if no id is present yet on both, if they are the same object.
Properties
Cached fetched values for fields Key is the path to the resultKey If entry is not found, it has not been fetched yet
True if this node is persisted in the database
Context necessary for lazy-loading
Order fields for sorting and cursor generation fetched from the database
Lookup for all node properties Trades memory (additional HashMap) for a cleaner and more extensible way to lookup the delegates (compared to reflection) Name of property as key
Functions
Gets the result of a GraphQL query Uses the cache to obtain the result, and if no cache entry was found, creates a new database query and executes it
Gets a node property from the lookup May be changed in future to support extensibility
Loads all nodes of a relationship If the loader is provided, specified nested nodes are loaded too
Creates a new node property used for one sides
Creates a new node property used for many sides
Registers the result of a query Used to cache the result of a query