我正在使用 Spring Data Neo4j 4.0.0.RC1 并注意到GraphRepository
'sfindOne
方法的一些有趣行为。
给定两个GraphRepository
扩展:
public interface SimpleNodeRepository extends GraphRepository<SimpleNode> {
}
public interface OtherNodeRepository extends GraphRepository<OtherNode> {
}
然后给一个完全空白的石板,假设我创建了一个单曲SimpleNode
,它被分配了一个 ID 为 1L。当我打电话时otherNodeRepository.findOne(1L)
,我得到一个ClassCastException
而不是空值。这向我表明,该findOne
方法正在获得SimpleNode
支持,并且不尊重 SDN 节点类型。
这是预期的行为吗?我认为这可以通过findById
在各自的存储库接口中创建一个方法来解决,但它似乎违背直觉,并且似乎与 JPA 存储库如何处理它的方式不一致。