У меня есть репозиторий
@Repository
public interface PointOfInterestRepository extends GraphRepository<Poi> {
// currently empty
}
без определенных пользовательских методов. Поэтому я использую подобные save(T... entities)
, которые предопределены.
И у меня есть класс Poi
следующим образом
@NodeEntity(label = "PointOfInterest")
public class Poi {
@JsonIgnore
@GraphId
Long neo4jId;
@JsonManagedReference("node-poi")
@JsonProperty("node")
@Relationship(type = "BELONGS_TO", direction = Relationship.UNDIRECTED)
private Node node;
@JsonProperty("id")
@Property(name = "poiID")
private final String id;
@JsonProperty("uris")
@Property(name = "uris")
private final Set<URI> correspondingURIs = new HashSet<>();
/* Some more stuff I skip here*/
}
с геттерами для полей.
В настоящее время я могу сохранять такие Pois в neo4j и извлекать их обратно, но когда я пытаюсь работать с этими узлами в базе данных через шифрование, оказывается, что поля не сопоставлены со свойствами neo4j.
Я думал, что spring-data-neo4j преобразует поля моего класса в свойства графика neo4j. Я ошибаюсь?
Примечание. Вызовы save
работают очень хорошо. После этого я могу видеть узлы в базе данных, а последующий вызов findAll()
вернет мне все сохраненные узлы (Pois) со всеми правильными значениями. Но почему-то в базе данных я не вижу никаких свойств/полей.
MATCH (n:PointOfInterest) RETURN KEYS(n) LIMIT 10;
- person cybersam   schedule 29.03.2016PointOfInterest
, я увижу три пустых массива[]
- person Matthias   schedule 29.03.2016