OneToMany Jpa продолжает вставлять дубликаты в дочернюю таблицу во время обновления родительской таблицы

#spring #jpa #spring-data-jpa

Вопрос:

Я использую @OneToMany аннотацию spring data jpa, и моя дочерняя таблица заполняется повторяющимися значениями, в то время как родительская таблица выясняет, что там уже есть одно и то же значение, и оно обновляется. Как я могу также обновить дочернюю таблицу вместо вставки повторяющегося значения, как это делается в родительской таблице? Есть ли какое-то свойство, которое можно добавить в @OneToMany аннотацию? Это происходит каждый раз, когда я повторно запускаю приложение.

Комментарии:

1. Некоторые вопросы: Установлены ли идентификаторы этих объектов? Как они сохраняются? Как вы читаете в этой существующей сущности и ее потомках? Как вы установили отношения (т. Е. Установлено ли каскадное слияние)?

2. Да, у них есть свои удостоверения личности. Они сохраняются путем реализации интерфейса CrudRepository, а затем используются его встроенные функции save() и saveAll(). Я получаю дату из rest api и сохраняю ее в БД. проблема с дочерними элементами заключается в том, что они вставляются даже в ту же строку, которая уже существует в таблице, в то время как родительская таблица обновляется, если строка уже существует. Я перепробовал несколько типов каскадов.

3. у вас есть набор каскадного слияния для отношений? Покажите свой код, но решением может быть чтение дочерних элементов в том же контексте перед вызовом сохранения родительского элемента