私はVaadinとEclipseLinkを使用しています。 2つのテーブルがあり、1つはメールで、の2番目に顧客です。顧客のPKはcustomer_id、メールのPKはmail_idです。 表Mailには、外部キーとしてのCustomer_idがあります。どのように私はそれをバインドするのですか? 私が試した: - https://vaadin.com/docs/v8/framework/datamodel/datamodel-forms.htmlが、結合FKについては何もありませんでしたVaadin(EclipseLink)での外部キーのバインド
binder.forField(fkCustomerId)
.withConverter(new StringToBigDecimalConverter(FormMessages.NUMBERS_ONLY))
.bind(Mail::getCustomerId, Mail::setCustomerId);
それから私は、私はこのページをチェックしメール - エンティティクラスを確認し、
@JoinColumn(name = "CUSTOMER_ID", referencedColumnName = "CUSTOMER_ID")
@ManyToOne
private Customer customerId;
を見つけました。
あなたがしたいことに関する詳細情報を追加するとよいでしょう。おそらく、ユーザーが主キーを直接編集することを許可したくない場合があります。おそらく、ユーザーの入力以外のものに基づいて設定する必要があります。 – Mika
表Mailには、別のアプリケーションの顧客用のメール設定がいくつか含まれていて、外部キーとしてcustomer_idが含まれています。 EclipseLinkは顧客のcustomerIdとしてマッピングしましたが、クラスCustomerのオブジェクトをバインドできません。何かに変換する必要がありますか? – revolt
顧客オブジェクトで何をしたいですか? customer_idの値をラベルに表示したり、ドロップダウンを表示して新しい接続を作成したりしたいですか? – Mika