[TIL] 240101 RawJPA๋ก ๊ฐ๋ฐํ๊ธฐ
Entity class ๋ง๋ค๊ธฐ
๐ฝ ์ฃผ๋ก ์๋ ์์์ ๊ตฌ์ฑ์ผ๋ก ๋ง๋ฆ
-์นผ๋ผ
-์์ฑ์
-์ฐ๊ด๊ด๊ณ ํธ์ ๋ฉ์๋
- ์๋น์ค ๋ฉ์๋ (์ธ๋ถ์์ entity์์ ํ ๋ ๋ฑ/ boardUpdate๊ฐ์๊ฑฐ )
@Entity์๋ํ ์ด์ ์ด ๋ถ์ผ๋ฉด @Column์ด ์๋์ผ๋ก ๋ค์ด๊ฐ๋ค
@Column์์ ํน์ ๋ถ๋ถ์ ์์ ํ ๋๋ง ์๋ํ ์ด์ ์ฌ์ฉ
@Enuminated: ๋งคํํ ๋ ์ฌ์ฉ
@Embedable: ์ฃผ์์ฒ๋ผ ์๊ตฐ๊ตฌ ๋๋๋ ์ฌ์ฉ
livetemplete
ํ ํ๋ฆฟ์ ๋ง๋ค์ด ๋ค๋ฅธ ํด๋์ค์์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๊ฒ
setting (command+S) > LiveTemplates
๋ค๋๋ค ๋งคํ M:N ๋งคํ
๋ณดํต ์ค๊ฐ ํ ์ด๋ธ์ ๋ง๋ค์ด์ ์ฌ์ฉ
@ManyToOne
joinColumn์ many์ชฝ์์ ๊ฐ์ง
์์
board์ user๋ฅผ ๋ค๋๋ค๋ก ์ฐ๊ฒฐํ๊ธฐ ์ํด userBoard๋ผ๋ ์ค๊ฐํ ์ด๋ธ ์์ฑ
UserBoard
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "users_id")
private User user;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "boards_id")
private Board board;
Board
@OneToMany
private Set<UserBoard> userBoards = new LinkedHashSet<>();
User๋ ์์ ๊ฐ์ ์์ผ๋ก ๋งคํํด์ค์ผํจ