以下のように2つのテーブルがあります。重要なのは、私の質問に「n」を選択することです。主キー用の列をもう1つ持つのではなく、2番目のテーブルに複合キーを置くように設計しました。このアプローチでは、2つの質問があります。
これはテーブルデザインの良いアプローチですか?つまり、TABLEQUESTIONCHOICEには主キーではなく複合キーがあります。
アノテーションを使用して、HibernateでQUESTIONBANKテーブルとQUESTIONCHOICEテーブルの間で1対多のマッピングを作成するにはどうすればよいですか?
どんなポイントや提案も大いに役立ちます。
ありがとう、
-Vijay Selvaraj
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)
);