我正在使用 Spring-data 通过 REST 访问 Neo4j 数据库。
我的实体之一看起来类似于以下实体:
@NodeEntity
@TypeAlias("org.example.Foo")
public class Foo {
@GraphId
private Long nodeId;
//...
@RelatedTo(type="HAS_BAR", direction=Direction.OUTGOING)
private Set<Bar> bars;
//...
}
典型的Foo
可能有 0-1000Bar
秒。大多数时候,Bar
加载 a 时不需要这些 s,Foo
所以我认为我应该通过不添加@Fetch
注释来避免急切加载Bar
s。
但是,当现在Foo
使用生成的存储库方法加载 a 时,会Bar
加载s - 至少部分加载(仅它们的 nodeId 属性)。
有没有办法避免这种情况?这种行为对性能的影响很大。
我真的希望能够对集合本身使用https://stackoverflow.com/a/16159051/232175中所示的延迟加载。