在Java中,如何在字符串类型的SQL表列中存储对象数组?

在Java中,如何在字符串类型的SQL表列中存储对象数组?,java,sql,arrays,Java,Sql,Arrays,我在ORACLE SQL中有一个表EMPLOYEE\u PREF。 它有列EMP\u ID,EMP\u KEY,EMP\u TYPE,EMP\u VALUE 基本上,EMP_值是一个字符串。它是一个带书签的url 我必须重新使用该表,以了解员工在选择时的偏好。 所选内容是对象数组。 设施,健康计划。。 每个对象都有键、值对: 设施对象的Ex { dataType : "string" isEligible : true label : "Facilit

我在ORACLE SQL中有一个表
EMPLOYEE\u PREF
。 它有列
EMP\u ID
EMP\u KEY
EMP\u TYPE
EMP\u VALUE
基本上,
EMP_值
是一个字符串。它是一个带书签的url

我必须重新使用该表,以了解员工在选择时的偏好。 所选内容是对象数组。 设施,健康计划。。 每个对象都有键、值对: 设施对象的Ex

    {   dataType : "string"
        isEligible : true
        label : "Facility Name"
        name :"facilityName"
    }
    {
       ...
    }
现在我不知道如何在存储
VARCHAR
EMP\u VALUE
列中存储对象数组

请帮我解决一些问题。
我应该能够以字符串形式存储,并以对象数组形式检索。

我认为这是不可能的。虽然可以存储当前对象的引用,但它没有多大意义。在下一次运行中,对象将更改。你所说的书签url是什么意思

相反,您可以使用某种格式来存储每个类别下的首选项..例如[Facility=(isEligible:true,name:“facilityName”,..)类似这样的内容。要想找回它,你必须以相反的方式破解它


注意:更改DB设计,并在不同列中添加每个类别的首选项。这会让你的生活更轻松。

你的数据库是什么?当您需要存储大量文本时(在本例中就是这样),您可以在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();
List strings=new ArrayList();
字符串。添加(“字符串1”);
字符串。添加(“字符串2”);
字符串。添加(“字符串3”);
字符串标记=strings.toString();

然后您可以将字符串标记放在数据库中。

将您的对象转换为json字符串并存储它。