#spring #jpa #spring-data-jpa
Вопрос:
Я использую @OneToMany
аннотацию spring data jpa, и моя дочерняя таблица заполняется повторяющимися значениями, в то время как родительская таблица выясняет, что там уже есть одно и то же значение, и оно обновляется. Как я могу также обновить дочернюю таблицу вместо вставки повторяющегося значения, как это делается в родительской таблице? Есть ли какое-то свойство, которое можно добавить в @OneToMany
аннотацию? Это происходит каждый раз, когда я повторно запускаю приложение.
Комментарии:
1. Некоторые вопросы: Установлены ли идентификаторы этих объектов? Как они сохраняются? Как вы читаете в этой существующей сущности и ее потомках? Как вы установили отношения (т. Е. Установлено ли каскадное слияние)?
2. Да, у них есть свои удостоверения личности. Они сохраняются путем реализации интерфейса CrudRepository, а затем используются его встроенные функции save() и saveAll(). Я получаю дату из rest api и сохраняю ее в БД. проблема с дочерними элементами заключается в том, что они вставляются даже в ту же строку, которая уже существует в таблице, в то время как родительская таблица обновляется, если строка уже существует. Я перепробовал несколько типов каскадов.
3. у вас есть набор каскадного слияния для отношений? Покажите свой код, но решением может быть чтение дочерних элементов в том же контексте перед вызовом сохранения родительского элемента