私はリポジトリを持っています
@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) がすべて正しい値で適切に返されます。しかし、どういうわけか、データベース内にプロパティ/フィールドが表示されません。