0

プロジェクトでhibernate、struts、extjsを使用しています。

次のフィールドを持つCustomerオブジェクトがあります。

custId、
custName、address、phone

UI側からの私のプロジェクトでは、オブジェクトの顧客を取得しますcustName

したがって、上記のオブジェクトを更新する必要があります(custName一意です)。同じ顧客名のオブジェクトが1つだけあります。したがって、顧客名(DBからのオブジェクト)を使用してそのオブジェクトを取得します。

次に、更新された顧客名でオブジェクトを保存する必要があります。

次のように保存すると、UIから顧客オブジェクトがあります。

顧客cust1=getCustomerByName(cust.getCustName());

cust.setCustId(cust1.getCustId()); save(cust);

これを行うと、顧客の住所と電話番号が失われます。

したがって、nullまたは空でないフィールド値の1つのオブジェクトを同じタイプの別のオブジェクトにコピーするにはどうすればよいですか。

誰か助けてくれませんか。ここで立ち往生しました。それは私が救うのを止めています。

前もって感謝します!

4

2 に答える 2

0

2つのオプション。リフレクションを使用してすべてのフィールドを検索し、nullでないフィールドをコピーします。または、より適切なオプションとして、各フィールドを明示的にチェックし、データベースインスタンスのフィールドを適切に更新する更新メソッドを記述します。

于 2012-04-05T10:23:25.320 に答える
0

custとへの参照を混同していますcust1

custすでにアドレスを持っていない限り、custIdオンに設定するだけではcust、からアドレスがコピーされることはありませんcust1

于 2012-04-05T10:03:36.547 に答える