【发布时间】:2012-08-01 10:32:42
【问题描述】:
我有两张表,如下所述。关键是我的问题有“n”个选择。我设计在第二个表上使用复合键,而不是多列一列作为主键。使用这种方法,我有两个问题。
这是表格设计的好方法吗?我的意思是 TABLE QUESTIONCHOICE 具有复合键而不是主键。
如何在 Hibernate 中使用注释在 QUESTIONBANK 和 QUESTIONCHOICE 表之间进行一对多映射?
任何观点和建议都会有很大帮助。
谢谢,
-维杰·塞尔瓦拉杰
CREATE TABLE QUESTIONBANK(
QUESTIONID INT NOT NULL AUTO_INCREMENT(10001, 1),
QUESTION VARCHAR(200) NOT NULL,
TOPIC VARCHAR(20) NOT NULL,
SUBTOPIC VARCHAR(20) NOT NULL,
COMPLEXITY SMALLINT NOT NULL DEFAULT 1,
QUESTIONTYPE SMALLINT NOT NULL,
VERSION INT NOT NULL DEFAULT 0,
CONSTRAINT QUESTIONBANK_PK PRIMARY KEY (QUESTIONID)
);
CREATE TABLE QUESTIONCHOICE(
QID INT NOT NULL,
CHOICE VARCHAR(100) NOT NULL,
CORRECT_CHOICE BOOLEAN,
VERSION INT NOT NULL DEFAULT 0,
CONSTRAINT QUESTIONCHOICE_PK PRIMARY KEY (QID, Choice),
CONSTRAINT QUESTIONCHOICE_FK FOREIGN KEY (QID) REFERENCES QUESTIONBANK (QUESTIONID)
);
【问题讨论】:
标签: database-design annotations hibernate-mapping