der Code für Neo4j OGM v2.0.4 liest (Datei org/Neo4j/OGM/Kontext/GraphEntityMapper.java, Linien 313--339):Neo4J Java kann Relationen nicht laden: "kein Schreiber für ...": Neo4J OGM Protokollierungsfehler?
// If the source has a writer for an outgoing relationship for the rel entity, then write the rel entity on the source if it's a scalar writer
ClassInfo sourceInfo = metadata.classInfo(source);
RelationalWriter writer = entityAccessStrategy.getRelationalWriter(sourceInfo, edge.getType(), Relationship.OUTGOING, relationshipEntity);
if (writer == null) {
logger.debug("No writer for {}", target);
} else {
if (writer.forScalar()) {
writer.write(source, relationshipEntity);
mappingContext.registerRelationship(new MappedRelationship(edge.getStartNode(), edge.getType(), edge.getEndNode(), edge.getId(), source.getClass(), ClassUtils.getType(writer.typeParameterDescriptor())));
} else {
oneToMany.add(edge);
}
}
//If the target has a writer for an incoming relationship for the rel entity, then write the rel entity on the target if it's a scalar writer
ClassInfo targetInfo = metadata.classInfo(target);
writer = entityAccessStrategy.getRelationalWriter(targetInfo, edge.getType(), Relationship.INCOMING, relationshipEntity);
if (writer == null) {
logger.debug("No writer for {}", target);
} else {
if (writer.forScalar()) {
writer.write(target, relationshipEntity);
} else {
oneToMany.add(edge);
}
}
sollte aber nicht das erste Nachrichtenprotokoll lesen
logger.debug("No writer for {}", target);
stattdessen? Ich bekomme eine verwirrende Log-Nachricht, die besagt, dass eine Klasse von mir keine Autoren hat, aber wo diese Klasse definitiv einen Schreiber hat. Ich frage, weil ich sicherstellen möchte, dass ich nichts übersehen habe.
Beifall und Dank,
Stephan