Neo4j Spring Boot OGM - 保存关系中的对象列表
Posted
技术标签:
【中文标题】Neo4j Spring Boot OGM - 保存关系中的对象列表【英文标题】:Neo4j Spring Boot OGM - saving list of objects in relationship 【发布时间】:2019-01-13 12:47:44 【问题描述】:我有一个实体“Track”,它与跟踪对象列表 (TrackObject) 有关系。 我有一个要保存到 Neo4j 数据库的曲目列表,每个曲目都有一个 TrackObject 列表。 每个轨道都得到完美保存,但只有第一个 TrackObject 得到保存。 有没有办法直接保存所有内容? 这是赛道:
@NodeEntity (label="Track")
public class Track
@Id
@GeneratedValue
private Long id;
Integer number;
String name;
@Relationship (type = "IS_IN", direction=Relationship.INCOMING)
List<TrackObject> objectList;
我得到我的曲目列表并对其进行迭代:
for (Track track : tracks)
trackService.saveTrack(track);
for (TrackObject tobj : track.getObjectList())
trackService.saveTrackObject(tobj);
我也尝试使用“saveAll”和 Iterable,它适用于轨道,但不适用于轨道对象列表。
Iterable<Track> tracks = newImport.getTracks();
trackService.saveTracks(tracks);
我做错了什么? 谢谢你的回答。
【问题讨论】:
【参考方案1】:保存函数中有一个深度属性,其语法如下 无效保存(T对象,int深度); 请试试这个。
【讨论】:
不,它也不适用于深度,只有第一个 TrackObject 也会被保存。 能否请您调试天气是否所有轨道对象都添加到轨道中。 是的,他们都在那里。它们在视图中完美显示。 我认为您正在独立保存两个列表,因此它们不会创建关系。尝试在每个轨道中添加 trackObjects,然后保存轨道。对于(轨道轨道:轨道)对于(轨道对象tobj:track.getObjectList())track.getobjectList().add(tobj)trackService.save(轨道);以上是关于Neo4j Spring Boot OGM - 保存关系中的对象列表的主要内容,如果未能解决你的问题,请参考以下文章