我想在postgres中保留以下xml结构:
<product>
<type>car</type>
<text>long content</text>
</product>
type
属性可能有大约10-20个变体。因此,在java中,它们将是enums
。
我可以按如下方式创建table product
:
type, text
------------------
car , long content
问题:在这里,我会一遍又一遍地重复type
的文字。
要更改它,我可以使用id:
的引用table product:
type_id, text
---------------------
1 , long content
table product_type:
id, type_name
-------------
1 , car
问题:您是否认为这是正确的方法(因为在每次获取产品时我都必须加入product_type
表来获取type
的文本?
我后来想再次以REST
api的形式提供数据库的一些内容,并且我还希望写出<type>car</type>
属性。
答案 0 :(得分:1)
我认为更好的方法是只留下type_id
,删除表product_type
并在代码中创建从type_id到枚举值的映射。如果您想在db中使用一些有意义的名称,只需在type_name
表中添加另一列product
。