java - Spring-Data-Neo4J 类多态性

标签 java neo4j polymorphism spring-data spring-data-neo4j

SDN v3.0.0 发布 Neo4j社区2.0.1

我在继承和集合方面遇到了一些问题。也许有人可以协助解决此事。我基本上有以下结构。

public abstract class Graphic;

public class Shape1 extends Graphic;

public class Shape2 extends Graphic;

public class Shape3 extends Graphic;

public class Overlay {

    Set<Graphic> graphics;

}

public interface GraphicsRepository extends GraphRepository<Graphic>{}

我可以使用图形存储库保存图形,并且所有各种属性都根据具体类正确存储。我可以查询并获取具有正确属性的单个图形,并执行与 neo4j“门户”环境中的类相关的各种操作。但是,当我在覆盖层上进行检索时,我只能得到基类 Graphic,因为集合中的类类型并且转换不起作用。我可能会忽略某些事情,或者只是没有正确地做某些事情,但我想我会发布并看看是否有人可以提出任何建议。我搜索过谷歌和堆栈溢出,只发现类似的问题,它是主类,而不是内部对象集合。

此外,当我从 Graphic 类中删除抽象时,我得到相同的结果… Overlay 图形集中的所有项目都是 Graphic 类型。并且添加@TypeAlias似乎没有帮助。

谢谢

最佳答案

好吧,我发现了这个问题……有点愚蠢,但我忘了将 @Fetch 放在图形集合上。奇怪的是,它确实检索图形对象,但它们都是 Graphic 类型。当我将 fetch 添加到集合中时,集合项目将以正确的类型检索。

关于java - Spring-Data-Neo4J 类多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22621789/

相关文章:

C++ 从父引用调用子方法

java - 在JAVA中创建一个方法来调用另一个类的特定格式来打印ArrayList的内容

java - 将 'mean' 、 'min' 或 'percentiles' 添加到 Spring Boot 2 指标?

neo4j - neo4j 什么时候支持日期作为属性

java - 如何查看 JAR 文件中的源代码?

indexing - 字符串中单词的架构索引

java - 无法导入 GraphDatabaseFactory

scala - 我可以在 Scala 中使用具体类型覆盖类型参数化方法吗?

java - removeAll() 时 TreeSet 中的 NullPointerException

java - 当路由器手动创建routee时,它们是如何通过监管策略重新启动的?