簡體   English   中英

生成的@ManyToMany聯接表的JPA auto_increment ID

[英]JPA auto_increment id for generated @ManyToMany join table

如果我在兩個實體(即StudentCourse )之間具有雙向@ManyToMany關系,則JPA會生成一個(student_id, course_id)student_id_course_id ,其組合主鍵為(student_id, course_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有一個AUTO_INCREMENT ID,然后使用,在course_assessmentcourse_result表。

在JPA中,這似乎是相當普遍的情況,但是我還沒有找到如何做的方法。 其他人通常如何處理?

這種情況實際上非常罕見,因為如果您需要具有引用用戶已注冊課程的事實的表(我將其稱為“注冊”),則可能意味着該注冊是一個實體,信息。

因此,多對多關系變為兩個一對多關系:

  • 一個學生有很多注冊
  • 一門課程有很多注冊

注冊實體可用於保存信息(注冊日期,...),您可能還有其他實體使用外鍵引用注冊的自動生成的ID。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM