Как справиться с отношениями один ко многим? - PullRequest
0 голосов
/ 03 мая 2019

У меня есть такие сущности:

@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

...