๐ŸŒ WEB/Spring

JPA Auditing ์œผ๋กœ ์ƒ์„ฑ/์ˆ˜์ •์‹œ๊ฐ„ ์ž๋™ํ™”ํ•˜๊ธฐ

์• ์ •์“ฐ 2020. 4. 14. 14:55

๊ต์œก๊ณผ์ • ๋™์•ˆ ์–ธ์ œ ๋งŒ๋“ค์–ด์กŒ๋Š”์ง€, ์–ธ์ œ ์ˆ˜์ •๋˜์—ˆ๋Š”์ง€์— ๋”ฐ๋ฅธ ์œ ์ง€๋ณด์ˆ˜ ์ค‘์š”์„ฑ์„ ๋ฐฐ์šฐ์ง„ ๋ชปํ–ˆ๋‹ค.

์ด์ œ ๋ชจ๋ธ๋งํ•  ๋•Œ ๊ณ ๋ คํ•ด์„œ ์งœ์•ผ๊ฒ ๊ตฐ...

 

๊ฐ™์€ ๋‚ด์šฉ์ธ๋ฐ ๋งค๋ฒˆ DB์— insert/update์„ ํ•˜๊ธฐ์—๋Š” ์ฝ”๋“œ๊ฐ€ ์—ฌ๊ธฐ์ €๊ธฐ ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋‹ˆ๊นŒ 

์ƒ์„ฑ๋  ๋•Œ ๊ฐ™์ด ์ƒ์„ฑ๋˜๋ฉด ํŽธ๋ฆฌํ•˜๋‹ค!

 

domain ํด๋”์— BaseTimeEntityํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ 

๋ชจ๋“  Entity์˜ ์ƒ์œ„ ํด๋ž˜์Šค๊ฐ€ ๋˜๊ฒŒ ํ•˜๋ฉด ๋œ๋‹ค.

 

1. @MappedSpuerclass ๋ฅผ ์ด์šฉํ•˜๋ฉด JPA Entityํด๋ž˜์Šค๋“ค์ด BaseTimeEntity๋ฅผ ์ƒ์†ํ•  ๊ฒฝ์šฐ ํ•„๋“œ๋“ค๋„ ์ปฌ๋Ÿผ์œผ๋กœ ์ธ์‹ํ•˜๋„๋ก ํ•œ๋‹ค.

 

2. @EntityListeners(AuditingEntityListener.class)๋กœ ํ•ด๋‹น ํด๋ž˜์Šค์— Auditing๊ธฐ๋Šฅ์„ ํฌํ•จํ•œ๋‹ค.

 

3.

@CreatedDate 

private LocalDateTime createDate;

 

@LastModifiedDate

private LocalDateTime modifiedDate;

 

ํ•„๋“œ ์œ„์— ๋ถ™์—ฌ์ฃผ๋ฉด Entity๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์‹œ๊ฐ„์ด ์ž๋™ ์ €์žฅ๋œ๋‹ค

๋ง™์†Œ์‚ฌ ใ…Žใ…Ž...

Mybatis๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ๋Š” ์ปฌ๋Ÿผ์— ๋‚ ์งœ ํƒ€์ž…์œผ๋กœ ํ˜„์žฌ ๋‚ ์งœ๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ค๊ฑฐ๋‚˜,

์ง์ ‘ dto์— ๋„ฃ์–ด์คฌ๋Š”๋ฐ @๋งŒ ๋ถ™์ด๋ฉด ๋œ๋‹ค๋‹ˆ

 

4. Application ํด๋ž˜์Šค์— ํ™œ์„ฑํ™” ์–ด๋…ธํ…Œ์ด์…˜์„ ์ถ”๊ฐ€ํ•œ๋‹ค

@EnableJpaAuditing

 

 

๋ฐ˜์‘ํ˜•