У меня A.class :
@Entity
@Data
public class A {
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
Integer id;
String someStringInAclass;
@OneToMany(cascade = CascadeType.ALL)
List<SomeObject> someObjectsList;
}
У меня SomeObject.class :
@Entity
@Data
public class SomeObject {
@GeneratedValue(strategy = GenerationType.AUTO)
@Id
Integer id;
String someString;
Integer someInteger;
}
Я сохраняю объект в база данных:
SomeRepository.save(A);
И таблицы выглядят так:
Затем я снова сохраняю объект с другими значениями в объекте B :
SomeRepository.save(A);
Тогда таблицы выглядят так:
Таблица B расширилась правильно, но таблица A_B просто переопределила B_id вместо того, чтобы поместить новые 4 строки.
Затем, когда я получаю объект A из базы данных, я получаю только последние 4 значения из объекта B.
Как заставить его работать с сохранением новых значений (добавление новые строки в A_B) без переопределения?
EDIT:
Я добавил A_id в качестве внешнего ключа в таблицу B. Опять же - первое сохранение сохраняется правильно:
Затем, после второго сохранения с другими значениями для B, он изменяет значения для столбца A_id для первых вставленных 4 значений (к нулю). Итак, таблица выглядит так: