2015-10-21 2 views
1

У меня есть два класса: Object и ObjectProperty, они связаны как отношение одного к большому. Таким образом, у объекта есть несколько HashSet ObjectParameters.Spring Data REST persistance Обновление встроенных объектов MySQL (PUT/PATCH)

public Set<SOPParameter> parameters = new HashSet<>(); 

Это Spring Data REST выполняет POST отлично, но в случае PUT для замены или заплатки для обновления объекта с определенным идентификатором, параметры не влияют на всех. Что это за способ?

+0

Не могли бы вы опубликовать немного больше кода, например, методы, выполняющие PATCH и PUT? А также ваш класс репозитория. – dubonzi

+0

Никакие конкретные методы не имеют этих запросов, они полагаются на Spring Data Rest. Repository класса также оленья кожа exsists только интерфейс для упомянутого инструмента: '' 'интерфейс ObjectsRepository общественности расширяет JpaRepository { \t Page FindAll (выгружаемые выгружаемый); \t Объект findOne (Long aLong); \t } '' ' Извините за неправильное форматирование кода в комментариях. –

ответ

0

Отвечая на мой собственный вопрос: Во-первых, аннотаций orphanRemoval должен быть установлен истинный

@OneToMany(cascade = {CascadeType.ALL,CascadeType.PERSIST,CascadeType.MERGE}, mappedBy = "sop", orphanRemoval=true) public Set<SOPParameter> parameters = new HashSet<>();

Во-вторых, обработчик SetParameters должны быть указаны:

public void setParameters(HashSet<SOPParameter> set) { if (set != null) { this.parameters.clear(); this.parameters.addAll(set); } }

Смежные вопросы