SDN4 - GraphRepository findOne 与 findById

SDN4 - GraphRepository findOne vs findById

我正在使用 Spring Data Neo4j 4.0.0.RC1,我注意到 GraphRepositoryfindOne 方法有一些有趣的行为。

给定两个 GraphRepository 扩展名:

public interface SimpleNodeRepository extends GraphRepository<SimpleNode> {

}

public interface OtherNodeRepository extends GraphRepository<OtherNode> {

}

然后给定一个完全空白的石板,假设我创建了一个 SimpleNode 并且它被分配了一个 ID 1L。当我调用 otherNodeRepository.findOne(1L) 时,我得到一个 ClassCastException 而不是 null。这向我表明 findOne 方法正在恢复 SimpleNode 并且不尊重 SDN 节点类型。

这是预期的行为吗?我认为这可以通过在各自的存储库接口中创建一个 findById 方法来解决,但这似乎违背了直觉,而且肯定与 JPA 存储库处理它的方式不一致。

这不是预期的行为。 https://jira.spring.io/browse/DATAGRAPH-707 跟踪此问题。

请使用解决方法直到修复。