我有那些实体:
@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个创建者。
据我所知,无需指定保存深度,因为它将保存所有内容,而在我保存的模式中,关于旧创建者的内容完全没有,所以我不明白为什么不删除它? 谢谢