0

Enquiry.java と EnquiryItem.java という 2 つのクラスがあります。

enuiry が生成されると、その項目を EnquiryItems に保存しています。

以下は、POJO クラスのマッピング ファイルです。

お問い合わせ.java

@OneToMany(fetch=FetchType.LAZY,cascade = CascadeType.ALL,mappedBy="enquiryId")
@JoinColumn(name = "enq_id",  referencedColumnName = "id")
private List<EnquiryItem> enquiryItems=new ArrayList<EnquiryItem>();

お問い合わせ項目.java

@ManyToOne
@JoinColumn(name="enq_id")
private Enquiry enquiryId;

どこが間違っているのか特定できません。私を助けてください。

編集:照会が保存されると、enquiry_id はデータベースに null を保存します。

4

1 に答える 1

2

問題は、データベースに保存する前に enquiryId を設定する必要があることです。これは、mappedBy 属性を使用したために必要です。あなたがする必要があるのはです。

EnquiryItem オブジェクトをリストに追加する場合は、そのセッター メソッドを呼び出して enquiryId を設定してください。編集:

以下のように:

EnquiryItem.setEnquiryId(enquiry )

編集2:

Enquiry enquiry= new Enquiry(bus,prListNo,enquiryNo,user,new java.util.Date(),enquiryItemsList); 
for(EnquiryItem item:enquiryItemsList)
 item.setEnquiryId(enquiry);
于 2013-03-13T07:00:57.377 に答える