SDN4 - исключение MappingException при использовании интерфейса в качестве конца RelationshipEntity
Эта функция работала в один момент, но, похоже, сломалась в последнем снимке SDN4 (7-16-15)
У меня есть два класса узлов, один представляющий промежуточные, неконечные узлы и один представляющий листовые вершинные узлы степени один. Два класса реализуют общий интерфейс.
public interface Node {
...
}
@NodeEntity
public class SimpleNode implements Node {
...
}
@NodeEntity
public class SimpleLeafNode implements Node {
...
}
Первый может быть связан с другими промежуточными узлами ИЛИ концевыми узлами, и я смоделировал это соотношение, отобразив SimpleNode
класс к Node
ИНТЕРФЕЙС:
@RelationshipEntity
public class SimpleRelationship {
@StartNode
private SimpleNode parent;
@EndNode
private Node child;
}
Когда я пытаюсь запустить приложение Spring Boot, я получаю исключение сопоставления SDN:
Caused by:
10:51:04.173 [DEBUG] org.neo4j.ogm.metadata.MappingException: No identity field found for class: com.sdn4demo.entity.Node
10:51:04.174 [DEBUG] at org.neo4j.ogm.metadata.info.ClassInfo.identityField(ClassInfo.java:291)
10:51:04.174 [DEBUG] at org.springframework.data.neo4j.mapping.Neo4jPersistentProperty.<init>(Neo4jPersistentProperty.java:76)
10:51:04.174 [DEBUG] at org.springframework.data.neo4j.mapping.Neo4jMappingContext.createPersistentProperty(Neo4jMappingContext.java:100)
Опять же, это работало до снимка 7-16-15, поэтому мои вопросы - это не поддерживаемая функциональность? Это ошибка?
Придуманный пример существует по адресу: https://github.com/simon-lam/sdn-4-demo
Воспроизводить в состоянии, делая ./gradlew clean test --debug
1 ответ
Это ошибка. В настоящее время мы работаем над тем, чтобы разобраться с SD-commons и интеграцией Spring DATA REST, и это одно из последствий использования самого передового материала.
Использование RC1, вероятно, является лучшим выбором на данный момент. Следите за этой проблемой JIRA, чтобы увидеть, когда она будет завершена: https://jira.spring.io/browse/DATAGRAPH-564