我正在使用Spring Data Neo4j 4.0.0.RC1,并注意到使用GraphRepository
findOne
方法的一些有趣行为。
有两个GraphRepository
扩展程序:
public interface SimpleNodeRepository extends GraphRepository<SimpleNode> {
}
public interface OtherNodeRepository extends GraphRepository<OtherNode> {
}
然后给出一个完全空白的平板,说我创建了一个SimpleNode
并且它被分配了1L的ID。当我拨打otherNodeRepository.findOne(1L)
时,我会收到ClassCastException
而不是null。这告诉我findOne
方法正在获得SimpleNode
并且不尊重SDN节点类型。
这是预期的行为吗?我认为这可以通过在相应的存储库接口中创建findById
方法来解决,但它似乎违背了直觉,并且肯定与JPA存储库处理它的方式不一致。