Udemy Course Spring JPA 22

ManyToOne Mapping #1

ZONGRU Li
4 min readMay 8, 2019

一個Course可能對應多個review

相關內容如下

Course
Review

Review對應Course為多對一關係

反過來說Course對應Review為一對多關係

在程式上的對應則變化成:

上面Course再稍微改寫其中的Get Setter

我們只想針對單一個review做Setter

所以Course改為(保留reviews的Get)

而在Review.java就更簡單:

由最前面excel表可知

Review是owning side relationship(對Course而言)

因為Review擁有course id

所以我們要在不希望看到Review id在Course內

所以在Course加上mappedBy

最後還要修改data.sql

讓review內加上course id

最後執行DemoApplication.java

進到http://localhost:8090/h2-console

也可執行SQL:

SELECT * FROM REVIEW,COURSE
WHERE COURSE.ID=REVIEW.COURSE_ID

接著我們嘗試建立新的review資料對應couure id為10003

在CourseRepository中加入addReviewsForCourse Method

內容要執行四個步驟

  1. get the course 10003
  2. add 2 reviews to it
  3. set the relationship
  4. save it to database

首先完成第一步並呼叫看看

在DemoApplication中呼叫:

依序會見到

理解上面表達得程式執行順序後,接著完成其他步驟

再次執行DemoApplication見到

目前專案置於"SpringJPA深入ManyToOne1(0508)"內

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet