1

Spring-data を使用して、REST 経由で Neo4j データベースにアクセスしています。

私のエンティティの 1 つは、次のようなものです。

@NodeEntity
@TypeAlias("org.example.Foo")
public class Foo {
   @GraphId
   private Long nodeId;

   //...

   @RelatedTo(type="HAS_BAR", direction=Direction.OUTGOING)
   private Set<Bar> bars; 

   //...
}

通常は 0 ~ Foo1000Bar秒の範囲です。ほとんどの場合、これらBarの s はロード時に必要ないため、アノテーションを追加せずに s をeager-loadしFooないようにすることで問題ないと思いました。@FetchBar

ただし、Foo生成されたリポジトリ メソッドを使用して をロードすると、少なくとも部分的に (nodeId プロパティのみ)Barロードされます。

これを回避する方法はありますか?この動作により、パフォーマンスがかなり低下します。コレクション自体にhttps://stackoverflow.com/a/16159051/232175
に 示されているような遅延読み込みを使用できるようにしたいと本当に思っています。

4

3 に答える 3

0

残りの部分を介して neo4j を使用する特別な理由がない場合は、この問題を抱えていない aspectj マッピングに埋め込んで使用できます。REST経由でも使用できますが、この投稿によると、ソーシャルRESTfulレイヤーのNeo4j SpringデータPOCは避ける方が良いです。

于 2013-08-29T00:21:01.060 に答える
0

ほとんどの場合バーが必要ない場合は、エンティティからそれらを削除し、必要に応じてサイファーでロードしますか?

それとは別に、spring-data-neo4j は単純モードでの明示的な遅延読み込みをサポートしていませんが、高度なマッピング モードで運試しをすることができます ( http://static.springsource.org/spring-data/data-graph/snapshot- site/reference/html/#reference:aspectj )

于 2013-08-29T10:27:22.287 に答える