๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[Spring]/Spring Data JPA

spring.jpa.hibernate.ddl - DB ์ดˆ๊ธฐํ™” ๊ฐ„๋‹จ ์ •๋ฆฌ

by ํŒกํŽ‘ํ 2023. 4. 27.
728x90
๐Ÿ’ก Spring Data Jpa๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ db ์ดˆ๊ธฐ ์„ค์ •์— ๋Œ€ํ•œ ๋ฐฉ๋ฒ•์„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค.

 

 

spring.jpa.hibernate.ddl ์†์„ฑ

  • config(์„ค์ • ํŒŒ์ผ)๋ฅผ ๋งŒ๋“œ๋Š” yml or properties์— ์ž…๋ ฅํ•œ๋‹ค.
  • spring.jpa.hibernate.ddl=true๋กœ ์„ค์ •ํ•˜๋ฉด Entity ์• ๋„ˆํ…Œ์ด์…˜์ด ๋ช…์‹œ๋˜์–ด ์žˆ๋Š” ํด๋ž˜์Šค๋ฅผ ์ฐพ์•„ ddl์„ ์ƒ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•œ๋‹ค.

 

spring.jpa.hibernate.ddl-auto ์†์„ฑ

์˜ต์…˜๊ฐ’

none

  • ์•„๋ฌด๊ฒƒ๋„ ์‹คํ–‰ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋Œ€๋ถ€๋ถ„ DB์—์„œ์˜ ๊ธฐ๋ณธ๊ฐ’์ด๋‹ค.

create-drop

  • SessionFactory๊ฐ€ ์‹œ์ž‘๋  ๋•Œ drop ๋ฐ ์ƒ์„ฑ์„ ์‹คํ–‰ํ•˜๊ณ , SessionFactory๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ drop์„ ์‹คํ–‰ํ•œ๋‹ค.(in-memory DB์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์ž„)
  • ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜๋ฉด ๊ธฐ์กด ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•˜๊ณ  ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ฝ์–ด ์ƒˆ๋กœ์šด ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•œ ํ›„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ข…๋ฃŒ๋˜๋ฉด ์ƒ์„ฑํ•œ ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•œ๋‹ค.

create

  • SessionFactory๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค drop์„ ์‹คํ–‰ํ•˜๊ณ  ์ƒ์„ฑ๋œ DDL์„ ์‹คํ–‰ํ•œ๋‹ค.
  • ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜๋ฉด ๊ธฐ์กด ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•˜๊ณ  ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ฝ์–ด ์ƒˆ๋กœ์šด ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•œ๋‹ค.

update

  • ๋ณ€๊ฒฝ๋œ ์Šคํ‚ค๋งˆ๋ฅผ ์ ์šฉํ•œ๋‹ค.

calidate

  • ๋ณ€๊ฒฝ๋œ ์Šคํ‚ค๋งˆ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ณ€๊ฒฝ์ ์„ ์ถœ๋ ฅํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ข…๋ฃŒํ•œ๋‹ค.

 

 

 

728x90