2010-08-04 92 views
2

我的基本問題是如何將數據作爲序列化對象插入數據庫以及如何提取並使用它然後......任何建議!!?
e.g:如何將數據作爲序列化對象插入數據庫

{id:1, userId:1, type:PHOTO, time:2008-10-15 12:00:00, data:{photoId:2089, photoName:A trip to the beach}} 

你看我怎麼可能把數據插入Data列,然後使用它!?
另一個問題是,如果我存儲在photoNameData而是採用連接和獲取名稱從它的根據是Id多數民衆贊成將不執行對photoName上次更新表(photos(right!?)除此之外,我無法在表格照片和當前表格之間建立關係 - (Id=>photoId) - 如果我存儲那樣的數據..所以問題的一部分是我不知道確切地說將要存儲什麼樣的信息d in colum Data所以我無法爲每種類型的這些信息定製一個單獨的列...

回答

1

通常我會在這裏看到兩個選項。

  1. 可以存儲XML序列化對象到數據庫中,並且只需使用標準的XML序列化,這裏是一個example,你可以爲你的需求相適應。

  2. 您可以爲此對象創建一個真正的表格,並以「標準」方式執行操作。

對於選項1,過濾/加盟/中雖然仍技術上是可行的「數據」列搜索上的信息,是不是我會建議,並會更多的在我看來,一個靜態存儲過程。像用戶設置實體或其他某些後端查詢不太需要的項目。

對於選項2,是的,你必須做更多的工作,但是如果你很好的定義了這個對象,那將是可能的。

澄清 關於我在上面#1的例子。你會寫出一個內存流等的序列化,而不是一個文件。

+0

如果有人refactors類,那不是打破存儲(舊)序列化? – 2010-08-04 06:32:19

+0

你可以將對象作爲xml存儲在數據庫中,然後在額外的db列中存儲一些元數據 – jle 2010-08-04 06:36:26

+0

不錯,但是如果我想要將最新更新應用於某些數據,如photoName !!? – Rawhi 2010-08-04 06:41:42

1

如果您不想存儲關係數據,那麼最好不要使用關係數據庫。幾個對象數據庫說JSON,並且能夠很容易地處理這種問題。

0

你可以把它保存爲JSON字符串,並使用JSON LIB

http://json-lib.sourceforge.net/apidocs/index.html

的JSONSerializer與JavaBean轉換成JSON字符串/對象,反之亦然。

通常我們使用它來存儲沒有配置參數未知的配置。