需要帮助一对多的关系设计

时间:2010-08-10 02:06:29

标签: java database hibernate

我有一份申请表和一份问题库,一份申请表可能包含一个或多个问题。当用户从库中选择问题并将问题添加到应用程序表单时,他可以向问题添加一些新属性,或者如果他愿意,可以覆盖问题的现有属性。当用户完成问题选择时,他可以将申请表格与所选问题一起保存。

我目前的表格结构如下:

TAB_FORM
--------
ID INT(10) NOT NULL,
...

TAB_QUESTION
------------
ID INT(10) NOT NULL,
...

TAB_FORM_QUESTION
-----------------
ID INT(10) NOT NULL,
FORMID INT(10) NOT NULL,
QUESTIONID INT(10) NOT NULL,
NEWATTRIBUTE1 VARCHAR(20),
NEWATTRIBUTE2 VARCHAR(20),
...

当用户为某些问题添加新属性时,它可以正常工作,但如果用户想要覆盖问题的某些现有属性,则它不起作用,因为问题来自只读的库。

我可以将所有字段从TAB_QUESTION复制到TAB_FORM_QUESTION,还是有其他解决方案?感谢。

1 个答案:

答案 0 :(得分:0)

我想我必须将所有字段从TAB_QUESTION复制到TAB_FORM_QUESTION,然后我可以创建一个新类EmbeddableQuestion,它映射到这些字段并将EmbeddableQuestion嵌入到类FormQuestion中。 EmbeddableQuestion可以扩展Question,但我认为没有必要。