在我的web應用程序中,我必須將相同的數據從DB帶入webapplicatio,這需要很多時間。 我所做的是,我把這些數據放到了HashMap中。這樣我就不必每次都把它帶入網絡應用程序。但是,最大的問題是,所有用戶都會使用相同的數據進行操作,而這些數據會隨之改變。 我的第一個問題是:將數據庫中的數據保存在HashMap中是否正確,因此我不必每次都從數據庫查詢它? 我的第二個問題是,如果我可以使用HashMap保存數據,我必須對數據進行深度複製或克隆,並將其放入HashMap中,以便每個用戶都擁有原始數據的副本。對?java克隆深拷貝HashMap
我要克隆的對象是一個傳輸對象,它具有對其他Object和HashMaps的引用。 這個過程是這樣的:首先從數據庫中獲取數據,創建類並將所有類放入一個傳輸對象中,並將該傳輸對象放入一個哈希映射中。下一次,從hashmap中獲取數據。
感謝您的幫助。 編輯:來自數據庫的數據創建一個在線表單,並具有默認值,如姓名,地址和性別......所有用戶必須編輯表單以滿足自己的需要。這樣,每個用戶都必須擁有自己的副本才能對其進行操作。
是的,你可以做到這一點,沒有你不需要做一個深拷貝。我不知道任何默認使用深度副本的數據庫緩存解決方案。 –
嗨,彼得,謝謝你的迴應。我不想要數據庫緩存解決方案。我以某種方式克隆傳輸對象,因此每個用戶都可以使用他自己的副本。 – duracell
或者您可以強制或強制該用戶無法更改該對象。 –