2016-09-12 1 views
1

код для Neo4j ОГМ v2.0.4 читает (файл орг/Neo4j/OGM/контекст/GraphEntityMapper.java, строки 313--339):Neo4J Java не может загружать отношения: «no writer for ...»: ошибка регистрации OOG Neo4J?

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

вместо этого? Я получаю путаное сообщение журнала, в котором говорится, что у моего класса нет писателей, но там, где у этого класса определенно есть писатель. Я спрашиваю, потому что я хочу убедиться, что ничего не забыл.

Приветствия и спасибо,

Stephan

ответ

1

Вполне возможно, что вы видите это сообщение отладки, когда ваши отношения сущности является коллекцией. Mapper пытается сначала найти реляционный писатель для отдельных отношений, а затем возвращается к коллекциям. Поэтому, вероятно, вам не о чем беспокоиться, если вы не обнаружите, что ваши отношения не сохраняются.