[英]Neo4j OGM relationship in one entity only
我有兩個NodeEntity類,它們以多對一關系關聯(例如,一對多)。 假設許多實體A與單個實體B相關。我希望能夠加載深度大於0的實體B,但無需加載許多相關的實體A,並且實際上不需要訪問實體A來自實體B。
是否可以僅在實體A上指定關系,而不將其從實體B中指定出來,這樣,加載實體B不會加載任何實體A,但是加載實體A會加載實體B? 我擔心以后再保存實體,因為我不想在保存實體B時失去關系。
是的,您可以這樣做。 查看這個測試案例
@Test
@Transactional
public void shouldNotDeleteUnmappedRelations() throws Exception {
session.purgeDatabase();
session.query("CREATE (a1:A) CREATE (a2:A) CREATE (b:B{name:'b'}) CREATE (a1)-[:REL]->(b) CREATE (a2)-[:REL]->(b) RETURN id(b) as id", Collections.emptyMap());
Collection<B> res = session.loadAll(B.class, new Filters("name", "b"), 0);
B b = res.iterator().next();
assertThat(b).isNotNull();
session.save(b);
session.clear();
Collection<A> allA = session.loadAll(A.class);
assertThat(allA).hasSize(2);
assertThat(allA).extracting("b").isNotNull();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.