2012-04-05 55 views
0

我使用休眠,支柱,ExtJS的在我的項目。複製NOT NULL,而不是從一個對象到另一個相同類型的對象空字段(對象是同一類型)在Java中

我有這些領域Customer對象:

CUSTID,
CUSTNAME, 地址, 電話

,並從UI端項目中,我得到一個對象的客戶與custName

所以我需要更新上述目的(custName是唯一的)。我只有一個具有相同客戶名稱的對象。所以我會使用客戶名稱(來自DB的對象)來獲取該對象。

現在我必須保存與更新的客戶名稱的對象。

如果我保存如下我已經從UI客戶對象,是CUST

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

cust.setCustId(cust1.getCustId());保存(卡斯特);

如果我這樣做,我失去了客戶的地址和電話號碼。

所以,我怎麼能一個對象不是空或不是空字段值複製到同一類型的另一個對象。

任何人都可以請幫忙。我只是在這裏。它阻止我保存。

在此先感謝!

+0

一個好奇的數據模型,其中CustomerName將是唯一的,CustomerId將被更新。 – radimpe 2012-04-05 09:59:22

+0

@radimpe使用客戶ID作爲內部用途,但我的客戶名稱在我的案例中是獨一無二的。而不是uniquenes的問題,我只是舉了數據模型的例子,它不是。但如何複製? – Bindu 2012-04-05 10:04:28

回答

0

有兩種選擇。使用反射來查找所有字段並複製非空字段。或者更好的選擇,編寫一個更新方法,明確檢查每個字段並根據需要更新數據庫實例的字段。

0

你是你引用混合高達custcust1

除非cust已經有一個地址,沒有設置的數量只是custIdcust也會複製地址從cust1

+0

我必須每次檢查客戶名稱爲空或地址爲空。這裏數據模型的字段較少。在我的情況下,它有這麼多。我無法檢查每一件事,所以我只想複製不空和不空字段。直到除非我不會複製舊的值都丟失。 – Bindu 2012-04-05 10:10:02

+0

@Chinni - 但除非你檢查,你怎麼知道一個值是否爲空......有時候,你只需要把它吸了出來,然後找出那些「if」語句。 – pap 2012-04-05 10:22:22

+0

這是一種反射折衷的情況。反射具有運行效率成本,但可以用最少量的代碼設置任意數量的字段。 – 2012-04-05 10:29:10

相關問題