2016-09-12 2 views
1

のNeo4j OGMのV2.0.4のためのコードは、(ファイルORG /のNeo4j/OGM /コンテキスト/ GraphEntityMapper.java、ライン313--339)を読み出す:Neo4J Javaは関係をロードできません: "no writer for ...":Neo4J OGMロギングエラー?

// 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); 
     } 
    } 

しかし、最初のログメッセージは

を読んではなりません
logger.debug("No writer for {}", target); 

代わりに?私のクラスにはライターがいないが、そのクラスには確かにライターがいます。私は何かを見過ごさなかったことを確認したいので、私は尋ねています。

乾杯と感謝、

ステファン

答えて

1

あなたの関係のエンティティがコレクションされているときにこのデバッグメッセージを表示することが可能です。マッパーは、最初に単一の関係のリレーショナルライターを見つけようとしてから、コレクションに戻します。それで、関係エンティティが永続化されていないと気付かない限り、恐らく何も心配する必要はありません。

関連する問題