๐ง๏ธ ORM/JPA
Intro ๋ค๋๋ค ํ
์ด๋ธ์ ๋ณดํต ์ผ๋๋ค โ ๋ค๋์ผ ํ
์ด๋ธ๋ก ํ์ด์ ๊ตฌ์ฑํ๊ณค ํฉ๋๋ค. ์ค๊ฐ์ ์ด์ด์ฃผ๋ ํ
์ด๋ธ์ ์ค๊ฐ ํ
์ด๋ธ์ด๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ ์ด ํ
์ด๋ธ์ PK๊ฐ ์์ชฝ ํ
์ด๋ธ์ PK๋ฅผ ๊ฐ์ง๊ณ ๋ณตํฉํค๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. JPA์์ ๋ณตํฉํค๋ก PK๋ฅผ ๊ตฌ์ฑํ์ ๋, ์ ์ฅ ๋๋ PK๋ฅผ ์
๋ฐ์ดํธ๋ฅผ ํด์ผํ ๋ ์ฃผ์ํด์ผ ํ ์ ์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ฐ๋ฐํ๊ฒฝ SpringBoot 2.5.11 Java 11 H2 memory db ํ
์คํธ์ฉ ์ํฐํฐ ์๊ฐ @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class Member { @Id @GeneratedValue private Long id; private String name; @Ma..
๐ง๏ธ ORM/JPA
Auditing ์ด๋? ์ํฐํฐ๋ ๋์ค์ ์ ์ง๋ณด์๋ฅผ ์ํด์ ์์ฑ์ผ๊ณผ ์์ ์ผ์ ํ์์ ์ผ๋ก ๊ฐ์ง๊ณ ์์ด์ผ ์ฉ์ดํฉ๋๋ค. ๋จผ์ ์ผ๋ฐ์ ์ผ๋ก ์์ฑ์ผ๊ณผ ์์ ์ผ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์์ฑ์ผ public Book saveBook(BookDto bookDto) { // BookDto -> Book ๋ณํ Book book = ...; book.setCreatedAt(LocalDateTime.now()); ... } ์์ ์ผ public Long updateBook(Long bookId, BookDto bookDto) { // ์์ ๋ก์ง book.setModifiedAt(LocalDateTime.now()); ... } ์ด๋ฐ์์ผ๋ก ์ํฐํฐ๊ฐ ์ฆ๊ฐํ๋ฉด ์ฆ๊ฐํ ์๋ก ๋จ์ ๋ฐ๋ณต ์ฝ๋๊ฐ ๋์ด๋๊ฒ ๋ฉ๋๋ค. ์ด๋ด ๋ Auditing์ ์ฌ์ฉํ..
'๐ง๏ธ ORM/JPA' ์นดํ
๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก
๋จ์ถํค
๋ด ๋ธ๋ก๊ทธ
๋ด ๋ธ๋ก๊ทธ - ๊ด๋ฆฌ์ ํ ์ ํ |
Q
Q
|
์ ๊ธ ์ฐ๊ธฐ |
W
W
|
๋ธ๋ก๊ทธ ๊ฒ์๊ธ
๊ธ ์์ (๊ถํ ์๋ ๊ฒฝ์ฐ) |
E
E
|
๋๊ธ ์์ญ์ผ๋ก ์ด๋ |
C
C
|
๋ชจ๋ ์์ญ
์ด ํ์ด์ง์ URL ๋ณต์ฌ |
S
S
|
๋งจ ์๋ก ์ด๋ |
T
T
|
ํฐ์คํ ๋ฆฌ ํ ์ด๋ |
H
H
|
๋จ์ถํค ์๋ด |
Shift + /
โง + /
|
* ๋จ์ถํค๋ ํ๊ธ/์๋ฌธ ๋์๋ฌธ์๋ก ์ด์ฉ ๊ฐ๋ฅํ๋ฉฐ, ํฐ์คํ ๋ฆฌ ๊ธฐ๋ณธ ๋๋ฉ์ธ์์๋ง ๋์ํฉ๋๋ค.