簡體   English   中英

如何在Java的String類型的SQL Table列中存儲對象數組?

[英]How to store array of objects in SQL Table column of String type in Java?

我在ORACLE SQL中有一個表EMPLOYEE_PREF 它具有EMP_IDEMP_KEYEMP_TYPEEMP_VALUE基本上EMP_VALUE是一個字符串。 這是一個帶有書簽的網址。

我必須重新使用該表以選擇員工。 選擇是對象數組。 Facility,Healthplan等。每個對象都有鍵/值對:Ex表示Facility對象

    {   dataType : "string"
        isEligible : true
        label : "Facility Name"
        name :"facilityName"
    }
    {
       ...
    }

現在,我不知道如何在存儲VARCHAR EMP_VALUE列中存儲對象數組。

請幫我一些解決方案。 我應該能夠存儲在String中並在對象數組中進行檢索。

我不認為是否有可能。 雖然您可以存儲當前對象的引用,但這沒有多大意義。 在下一次運行中,對象將更改。 書簽網址是什么意思?

相反,您可以使用某種格式在每個類別下存儲首選項。例如,例如[Facility =(isEligible:true,name:“ facilityName”,..)]。 要取回它,您必須以相反的方式對其進行破解。

注意:考慮更改數據庫設計,並在不同列下為每個類別添加首選項。 這將使您的生活更加輕松。

你的數據庫是什么? 當您需要存儲大量文本時(在這種情況下就是您正在做的事情),可以在Oracle中使用TEXT類型,而在SQL Server中,由於SQL Server 2005,可以將VARCHAR(MAX)TEXT用於舊版本。 在這些類型中,一旦將本例轉換為字符串,就可以將文本存儲為數組:

List<String> strings = new ArrayList<String>();
strings.add("String 1");
strings.add("Strings 2");
strings.add("Strings 3");


String token = strings.toString();

然后,您可以將String令牌放在數據庫上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM