2010-08-03 39 views
2

我有一个Java类表示一个事件,其中包含一些数据,还有一个不同类型的“参数”列表,因为缺少一个更好的单词。我想将它坚持到数据库中,我对最好的方法感到困惑。在一个表中存储不同的参数类型

编辑,试图澄清我的随笔:

根据的“事件”的类型,它可以像主机名,端口,时间,服务名称,消息的时间参数,证书的消化(字节数组)等

我想最接近的平行就像存储printf格式字符串和参数(虽然这不是我在做什么)。存储格式字符串很简单,但存储参数很棘手,因为我需要在检索时将它们恢复为原始类型。

我试图找出一种方法来存储将是不同类型的参数。我应该将它们编码为一些字符串格式并将它们填充到varchar()中,然后在检索事件的参数时进行解码?

+0

那么你是说你总是会有相同数量的参数,但是它们的类型会有所不同? – 2010-08-03 18:30:07

回答

1

以我的愚见来看,将所有内容存储为varchar/string是一个坏主意。如果您需要将各种数据类型存储在数据库中,请使用正确的类型存储它们。这样你的表示层可以处理格式。

+0

那么,你会建议什么?为不同的参数类型分开表格?问题是,我将拥有与同一事件关联的不同类型的数据。我不知道除了编码为'通用'格式以外,还有什么可以保存类型信息,然后在检索时进行解码。 – 2010-08-03 18:25:36

+0

@sdeer - 您可以编辑您的原始问题并添加信息以帮助我们了解当前的情况吗?到目前为止,您正在寻找某种EAV(实体属性值),但对于数据类型,它听起来不对。 – JonH 2010-08-03 18:40:54

相关问题