ある程度設定されたデータ構造にneo4jクロスストア永続性を使用しようとしています。jpa と neo4j の境界には、jpa Entity を参照する NodeEntity が含まれています。したがって、neo4j オブジェクトには、参照として jpa オブジェクトの ID のみが含まれます。
mongodb クロスストア永続性と neo4j 永続性の混合構文では、これはおそらく次のようになります。
@NodeEntity
public class MyNode {
@GraphId
Long id;
@RelatedTo
MyEntity entity;
... //setters and setters omitted
}
@Entity
public class MyEntity {
@Id @GeneratedValue
Long id;
String name;
... //getters and setters omitted
}
この種のクロスストア永続性は、spring-data-neo4j では不可能のようです。サポートされている唯一のフォームは @NodeEntity("partial=true") を使用しているようです。これには、jpa ID を含む neo4j オブジェクトと同じ ID を持つ jpa テーブルが必要です。
このようなものを実装する実行可能な方法は、neo4j からの取得と保存を次のようにインターセプトすることです。
- jpa オブジェクトをロードするとき、neo4j id フィールドから読み取り、jpa オブジェクトを (neo4j トランジェント) フィールドに挿入することによってロードされます
- 保存するとjpaオブジェクトが保存され、idがneo4j idフィールドに保存されます
sping-data-neo4j の機能について間違っているのでしょうか?
これはこれを行うための実行可能な方法であると思われますか?
spring-data-neo4j にフィルターを追加する方法はありますか? 私はどういうわけかそれについて何も見つけることができませんでした。それとも、春のデータまたは春のレベルでフィルタリングする可能性がありますか?
私は春の専門家ではないので、何かヒントがあれば助かります。