SDN4 - 使用接口作为 RelationshipEntity 的结尾时抛出 MappingException
SDN4 - MappingException thrown when using an interface as the end of a RelationshipEntity
此功能曾一度有效,但在最新的 SDN4 快照 (7-16-15) 中似乎已损坏
我有两个节点 classes,一个代表中间非叶节点,一个代表一阶叶顶点节点。这两个 classes 实现了一个公共接口。
public interface Node {
...
}
@NodeEntity
public class SimpleNode implements Node {
...
}
@NodeEntity
public class SimpleLeafNode implements Node {
...
}
前者可以与其他中间节点或叶节点相关,我通过将 SimpleNode
class 映射到 Node
接口来模拟这种关系:
@RelationshipEntity
public class SimpleRelationship {
@StartNode
private SimpleNode parent;
@EndNode
private Node child;
}
当我尝试启动 Spring 引导应用程序时,我收到 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
重现
这是一个错误。我们目前正在努力整理有关 SD-commons 和 Spring DATA REST 集成的内容,这是使用前沿内容的后果之一。
目前使用 RC1 可能是最好的选择。密切关注这个 JIRA 问题,看看它何时完成:https://jira.spring.io/browse/DATAGRAPH-564
此功能曾一度有效,但在最新的 SDN4 快照 (7-16-15) 中似乎已损坏
我有两个节点 classes,一个代表中间非叶节点,一个代表一阶叶顶点节点。这两个 classes 实现了一个公共接口。
public interface Node {
...
}
@NodeEntity
public class SimpleNode implements Node {
...
}
@NodeEntity
public class SimpleLeafNode implements Node {
...
}
前者可以与其他中间节点或叶节点相关,我通过将 SimpleNode
class 映射到 Node
接口来模拟这种关系:
@RelationshipEntity
public class SimpleRelationship {
@StartNode
private SimpleNode parent;
@EndNode
private Node child;
}
当我尝试启动 Spring 引导应用程序时,我收到 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
这是一个错误。我们目前正在努力整理有关 SD-commons 和 Spring DATA REST 集成的内容,这是使用前沿内容的后果之一。
目前使用 RC1 可能是最好的选择。密切关注这个 JIRA 问题,看看它何时完成:https://jira.spring.io/browse/DATAGRAPH-564