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/