2011-06-26 5 views
0

に参加する、JPAは(student_id, course_id)の複合主キーと、student_id_course_id、結合テーブルを生成します。それはすべて正常に動作します。JPAのAUTO_INCREMENT IDがテーブル

しかし、私はこのように見えたそのキーオフ動作する他のテーブル、例えば、course_assessmentcourse_result、全体のヒープを持っていた場合:

course_assessment 
    student_id 
    course_id 
    assessment_item_description 
    grade 

course_result 
    student_id 
    course_id 
    overall_grade 

を私は複合キーを増殖させたくありません(student_id, course_id)を参照してください。私はstudent_id_course_idが1つのauto_increment idを持っていて、それをcourse_assessmentcourse_resultテーブルに使用することを好むでしょう。

これはJPAではかなり一般的なシナリオのようですが、私はそれを行う方法を見つけることができませんでした。他の人々はどのようにこれに典型的にアプローチしますか?

答えて

0

ユーザーがコースに登録されているということをテーブルで参照する必要がある場合(これを「登録」と呼びます)、この状況はおそらく非常にまれです。情報を保持するエンティティ。

多対多の関係はこのように、2つの1対多の関係になっ:

  • は、一人の学生が多く登録

登録エンティティを多く登録

  • つのコースをすることができていました情報を保持するために使用することができます(登録日、...)、あなたは、自己生成IDへの外部キーを使用して登録を参照する他のエンティティを持つことができます。

  • 関連する問題