Day 5
Day5
JPA Auditing์ผ๋ก ์์ฑ์๊ฐ/์์ ์๊ฐ ์๋ํํ๊ธฐ
๋ณดํต Entity์๋ ํด๋น ๋ฐ์ดํฐ์ ์์ฑ์๊ฐ๊ณผ ์์ ์๊ฐ์ ํฌํจํ๊ฒ ๋จ โ ์ ์ง๋ณด์์ ์ค์ํ ์ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ํ์ํ์ง๋ง ์ผ์ผ์ด ์ฝ๋๋ฅผ ์ถ๊ฐํ๊ธฐ์๋ ๊ท์ฐฎ๊ณ ์ฝ๋๊ฐ ๊ธธ์ด์ง๊ธฐ ๋๋ฌธ์ JPA Auditing์ ์ฌ์ฉํจ
๐LocalDate๋ฅผ ์ฌ์ฉ
java8๋ถํฐ ๊ธฐ๋ณธ ๋ ์ง ํ์ ์ธ Date์ ๋ฌธ์ ์ ์ ๋ณด์ํ ํ์
Entity๋ค์ createdDate, modifiedDate๋ฅผ ์๋์ผ๋ก ๊ด๋ฆฌํ๋ ์ญํ
src/main/java/com/kyu/book/springboot/domain/BaseTimeEntity.class
@MappedSuperclass
JPA Entity ํด๋์ค๋ค์ด BaseTimeEntity์ ์์ํ ๊ฒฝ์ฐ ํ๋๋ค(createdDate, modifiedDate)๋ ์นผ๋ผ์ผ๋ก ์ธ์ํ๋๋ก ํฉ๋๋ค
@EntityListeners(AuditingEntityListener.class)
BaseTimeEntity ํด๋์ค์ Auditing ๊ธฐ๋ฅ์ ํฌํจ์ํด
@CreatedDate
Entity๊ฐ ์์ฑ๋์ด ์ ์ฅ๋ ๋ ์๊ฐ์ด ์๋ ์ ์ฅ๋ฉ๋๋ค.
@LastModifiedDate
์กฐํํ Entity์ ๊ฐ์ ๋ณ๊ฒฝํ ๋ ์๊ฐ์ด ์๋ ์ ์ฅ๋จ
๊ทธ๋ฆฌ๊ณ Posts ํด๋์ค๊ฐ BaseTimeEntity๋ฅผ ์์๋ฐ๋๋ก ์ค์
๋ง์ง๋ง์ผ๋ก JPA Auditing์ ํ์ฑํํ๊ธฐ ์ํด์
/src/main/java/com/kyu/book/springboot/application.class
์๋ํ๋์ง ํ์ธํ๊ธฐ ์ํด์ test์ฝ๋์์ฑ
src/test/java/com/kyu/book/springboot/domain/posts/PostRepository.class
Last updated
Was this helpful?