2011-08-24 159 views
0

我有一個頁面,用戶可以編輯大量信息,現在大約有100行DDL和一個文本區域,我想在每次更改後更新數據對象,這樣我只需要將更改的行保存到數據庫,而不是更新每一行。持久數據對象實現

即當DDL值發生變化或文本區域數據發生變化時(這是在彈出窗口中完成的,因此只有在點擊「確定」時纔會更改),它將被存儲到數組中,並保存每個更新行作爲對象。當用戶點擊保存時,它只會保存已更改的行。

現在即時通訊使用AJAX,以便它使HTTPRequest,從會話中獲取數組,並添加一個新的值與新的條目。不幸的是,我認爲這個頁面有時會自動加載,而不是保持數據正確。我不知道爲什麼,但想知道實施這個的最好方法是什麼,如果這是做這件事的好方法。

Java bean或其他東西會更好地表示數據對象嗎?

會不會訪問和存儲在會話中更快,並防止這種情況?

+0

是否使用像Hibernate/JPA任何持久化框架? – Padmarag

+0

目前沒有,只是想弄清楚這個最好的架構,我的總體目標是不必循環通過每個值,並更新數據庫,當我不必... – JAManfredi

回答

0

Java bean對此非常有用(與java Map相比)。

據我所知你只想爲更改的項目調用UPDATE,最好的做法是爲該java bean類實現equals()。

您必須將舊值存儲在會話中或服務器上的其他任何位置,以便能夠確定發生了什麼變化。

無論如何,你必須循環,也比較每個對象:

if (!prevValue.equals(currValue)) { 
    DAO.update(currValue); 
} 
+0

好的答案!我看着它! – JAManfredi