如何处理一对多关系?

时间:2019-05-03 12:16:11

标签: neo4j spring-data-neo4j

我有那些实体:

@NodeEntity
@Getter @Setter @NoArgsConstructor
public class Pattern {
    @Id
    @Index(unique = true)
    @GeneratedValue(strategy = UuidStrategy.class)
    private String id;

    private String name;

    @Relationship(type = "CREATE", direction = Relationship.INCOMING)
    private Creator creator;
}



@NodeEntity
@Getter @Setter 
public class Creator {
    @Id
    @Index(unique = true)
    @GeneratedValue(strategy = UuidStrategy.class)
    private String id;

    private String name;

    @Relationship(type = "CREATE", direction = Relationship.OUTGOING)
    private List<Pattern> patterns;
}



@Service
public class PatternServiceImpl implements IPatternService {

    @Override
    @Transactional(readOnly = false)
    public void savePattern(final PatternDTO patternDTO, final Long authId){

        Pattern pattern = modelMapper.map(patternDTO, Pattern.class)
        patternRepository.save(pattern);
    }
}

前面的部分允许更改图案的创建者。可以预期的是,删除与旧创建者的关联,并创建与新创建者的关联。

我的应用程序中发生的事情是旧的关联未删除,因此该模式有2个创建者。

据我所知,无需指定保存深度,因为它将保存所有内容,而在我保存的模式中,关于旧创建者的内容完全没有,所以我不明白为什么不删除它? 谢谢

0 个答案:

没有答案