У меня есть один класс A, у которого есть список объектов класса B, когда я сохраняю A, тогда сохраняется только идентификатор B и никаких других атрибутов
Class A{
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
private String id;
private String name;
private String address1;
private String address2;
@JoinColumn
@ManyToOne
private AGroup aGroup;
@JoinColumn
@ManyToOne
private Currency currency;
private Date createdOn;
private Date updatedOn;
@OneToMany(mappedBy = "a", cascade = CascadeType.PERSIST)
private Collection<B> b;
}
Class B{
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
private String id;
@ManyToOne
@JoinColumn
private A a;
private Date createdOn;
private Date updatedOn;
}
Структура таблицы:
CREATE TABLE b(id varchar(50) NOT NULL, name varchar(100) DEFAULT NULL, a_id varchar(50), bill_date datetime, bill_credit_period datetime, created_on datetime, updated_on datetime, opening_balance decimal(20,4), PRIMARY KEY (id), KEY a (a_id), CONSTRAINT `a_ba_fk_1` FOREIGN KEY (a_id) REFERENCES a (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
До того, как я сохраню AI, увидим, что список B соответствует объекту A, но после сохранения для B сохраняется только идентификатор, хотя он также должен быть сохранен должным образом.