代码之家  ›  专栏  ›  技术社区  ›  alex

NEO4J Spring Boot OGM-保存关系中的对象列表

  •  1
  • alex  · 技术社区  · 6 年前

    我有一个实体“track”,它与跟踪对象列表(trackobject)有关系。 我有一个要保存到NEO4J数据库的轨迹列表,每个轨迹都有一个轨迹对象列表。 每个轨迹都会被完美保存,但只有第一个轨迹对象会被保存。 有没有直接保存所有东西的方法? 这是轨道:

    @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 回复  |  直到 6 年前
        1
  •  0
  •   Vipul Pandey    6 年前

    save函数中有一个depth属性,其语法如下 void save(t对象,int深度); 请试试这个。