SDN4 — GraphRepository findOne против findById

Я использую Spring Data Neo4j 4.0.0.RC1 и заметил интересное поведение с методом GraphRepository findOne.

Учитывая два расширения GraphRepository:

public interface SimpleNodeRepository extends GraphRepository<SimpleNode> {

}

public interface OtherNodeRepository extends GraphRepository<OtherNode> {

}

Затем, учитывая совершенно чистый лист, скажем, я создаю один SimpleNode, и ему назначается идентификатор 1L. Когда я вызываю otherNodeRepository.findOne(1L), я получаю ClassCastException вместо нуля. Это наводит меня на мысль, что метод findOne возвращает SimpleNode и не учитывает типы узлов SDN.

Это ожидаемое поведение? Я думаю, что это можно обойти, создав метод findById в соответствующих интерфейсах репозитория, но это, кажется, идет вразрез с интуицией и определенно кажется несовместимым, скажем, с тем, как репозиторий JPA обрабатывает это.


person simonl    schedule 17.07.2015    source источник


Ответы (1)


Это не ожидаемое поведение. https://jira.spring.io/browse/DATAGRAPH-707, чтобы отслеживать эту проблему. .

Пожалуйста, используйте обходной путь, пока не будет исправлено.

person Luanne    schedule 18.07.2015