У меня есть такие сущности:
@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 создателя.
Насколько я знаю, нет необходимости указывать глубину для сохранения, поскольку она будет сохранять все, и в шаблоне, который я сохраняю, нет ничего о старом создателе, поэтому я не понимаю, почему он не удален?
Thx