0

エンティティ 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 を設定しないのはなぜですか?

どうもありがとう

4

1 に答える 1

1

を参照してください。

Hibernate 4.1 ドキュメンテーション セクション 1.2.6

Person and Events の例は、あなたが話していることに似ています。

よろしく、

シャードゥル。

于 2012-04-12T05:29:56.267 に答える