什么是显示键/值数据的更好方法

时间:2012-05-31 08:29:30

标签: java sql hibernate caching

我的问题背景是这样的:

名为“User”的数据库表,“User”具有“State”列,其值可以是“0”(禁用),“1”(正常),“2”(其他) )。

我需要向不同的国家/地区用户显示“状态”的不同文本,这意味着应显示“禁用”或“禁用”(中文字符)而不是“0”。

现在,我设计了一个名为“Code”的“映射”表,其中包含以下列:“代码”,“值”,“区域设置(国家/地区)”,“类型”。我应该加入两个表(“用户”和“代码”)来显示区域设置可靠值,或者使用另一个查询来获取它(我认为可以使用查询缓存)。

注意:“代码”表中的“类型”列用于代码的类别。例如:“用户”有一个“状态”,“菜单”有一个“状态”。

你有什么选择?和理由。 THX。

3 个答案:

答案 0 :(得分:0)

你是说你的代码,值,区域设置和类型的表是状态的查找表吗?如果是,那听起来不错。但是,由于您没有提到这些列的含义,因此很难说这是否是正确的方法。

此外,它在很大程度上取决于您如何访问数据。

如果您尝试在SQL查询中获取完整输出,那么我将采用的方式是专门为State提供一个查找表,只有两列,State和StateDescription。加入State上的查找表并撤回StateDescription以显示给用户。

如果您在SSRS或类似的数据中显示数据,那么根据State的值对其中的描述进行硬编码可能是一个很好的举措。这样可以避免查询加入的成本。

答案 1 :(得分:0)

如果“状态”并非总是变化,我将使用ENUM column

答案 2 :(得分:0)

伙计们,我找到了正确的方法!属性文件。 首先,为什么不使用数据库?因为“州”不是字典列,所以它是一个商业专栏,其商业相关值有限。因此,开发人员而不是系统管理员应负责维护它们。 属性文件是开发人员执行此操作的正确方法之一。

相关问题