エンティティ Invoice には、カスケードがすべての DetailInvoice のセットがあります
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "invoice")
public Set<DetailInvoice> getDetailInvoices() {
return detailInvoices;
}
エンティティ DetailInvoice で:
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "invoice_id")
public Invoice getInvoice() {
return invoice;
}
保存:
Invoice invoice = new Invoice();
DetailInvoice detailInvoice = new DetailInvoice();
invoice.getDetailInvoices().add(detailInvoice);
detailInvoice.setInvoice(invoice); // (1) Should we need this row?
session.save(invoice);
行 (1) がない場合、detailInvoice はデータベースで InvoiceId が null になります。Hibernate が注釈マッピングに基づいて自動的に detailInvoice に InvoiceId を設定しないのはなぜですか?
どうもありがとう