Ich bekomme ein Timeout beim Abfragen für Tiefe 2 mit session.load()
. Ich arbeite mit Neo4j OGM 1.1.3 (Versuch, von Spring Data Neo4j 3.4 zu migrieren) . Ein Knoten ObjektLoad ein Objekt in Neo4j OGM 1.1.3 Ogm Tiefe von 2 sehr langsam
class Node {
Long id;
String name;
@Relationship(type="NodeToCategory")
Category category;
@Realtionship(type="NodeToChildNode")
Node node
}
class Category {
Long id;
String name;
String color;
Date createdAt;
}
Die Kategorie zu laden versuchen, die zu meinem Knoten verbunden ist, ist sehr beliebt (20.000 Knoten die gleiche Kategorie haben) und wenn ich aus session.load(Node.class, 1L, 2)
die Anforderungs mal laufen verwenden. Kann es sein, dass es versucht, alle Beziehungen der Kategorie abzufragen (obwohl meine Modellkategorie in Java diese Beziehung ignoriert)?
, was ich erwarten würde, ist es zu laden einfach.
|My Node
| |category
| |child node
| | | category
| | | child node
, die keine sehr schwere Anforderung ist und sollte nicht Timeout (es sei denn, es unnötige Beziehungen wird geladen
Gibt es eine Möglichkeit zu sagen, Lädt man nur bestimmte Beziehungen zu tief?
Zum Beispiel möchte ich 10 Ebenen eines Baumes laden, aber andere Informationen auf meinem Baum (wie Kategorie, Rolle, die nicht wirklich Baumknoten sind, sondern einfach mehr Informationen darstellen) würde ich will nur t o lade sie ohne ihre Beziehungen. Also würde ich gerne alle Node-Objekte laden und nur andere Objekte auf dem Weg laden ohne deren Beziehungen.
UPDATE
fanden zwei offene Fragen, die diese Probleme zu lösen scheinen:
https://github.com/neo4j/neo4j-ogm/issues/55
https://github.com/neo4j/neo4j-ogm/issues/70