entity identifier๋ฅผ ์์ฑํ๋ ์ ๋ต์ ์ ํํฉ๋๋ค.
GenerationType.AUTO
์๋ณ์ ์์ฑ์ JPA ๊ตฌํ์ฒด์ ๊ธฐ๋ณธ ์ ๋ต์ ๋ฐ๋ฆ ๋๋ค.
Spring Boot 2.x์ JPA ๊ตฌํ์ฒด์ธ Hibernate 5.0 ๊ธฐ์ค
MySQL์ GenerationType.TABLE ์ ๋ต์ด ์ ํ๋ฉ๋๋ค.
GenerationType.IDENTITY
์๋ณ์ ์์ฑ์ DBMS์ ์์ํฉ๋๋ค.
AutoIncrement๋ฅผ ์ง์ํ๋ MySQL, PostgreSQL, SQL Server, DB2์์ ์ฌ์ฉ๋ฉ๋๋ค.
GenerationType.SEQUENCE
์๋ณ์ ์์ฑ์ DB Sequence๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Sequence๋ฅผ ์ง์ํ๋ DBMS์ธ Oracle, PostgreSQL, DB2, H2 DB์์ ์ฌ์ฉ๋ฉ๋๋ค.
GenerationType.TABLE
์๋ณ์ ์์ฑ์ ๋ณ๋์ ํ ์ด๋ธ์ ์ฌ์ฉํฉ๋๋ค.
DB Sequence๋ฅผ ํ๋ด๋ธ ๋ฐฉ์์ผ๋ก ๋ณ๋์ table์ ํ์ฉํ๊ธฐ์ ์ถ๊ฐ์ ์ธ DB ์ปค๋ฅ์ ์ด ๋ฐ์ํฉ๋๋ค.
๋์๊ฐ ๋ถ์ ํฉ์ ์ผ์ผํฌ ์ ์์ด ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋์ง ์์ต๋๋ค.
SpringBoot 1.5.x์ 2.0.x์ ์ฐจ์ด
์๋ณ์ ์์ฑ ์ ๋ต์ด GenerationType.IDENTITY์์ GenerationType.TABLE์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ๋ฉ์ด์ ๋ฒ์ ์ ๊ทธ๋ ์ด๋๊ฐ ํ์ํ ํ๊ฒฝ์์๋ ๊ฒฝํํ ์ ์์๊ฒ ์ง๋ง, ์ ๊ฐ ์ผํ๋ ํ๊ฒฝ์ ์ด๋ฏธ ๋ค 2.5.x ์๊ธฐ ๋๋ฌธ์ ์ง์์ผ๋ก๋ง ์๊ณ ์์ต๋๋ค.
Spring Boot 2.x์ JPA ๊ตฌํ์ฒด์ธ Hibernate 5.0 ๊ธฐ์ค, MySQL์ GenerationType.TABLE ์ ๋ต์ด ์ ํ๋ฉ๋๋ค.
Hibernate์ ID ์์ฑ ์ ๋ต์ ๋ฐ๋ผ ๊ฐ์ง ๋ง์ง ๊ฒฐ์ ํ๋ useNewIdGeneratorMappings ํ๋กํผํฐ๊ฐ 1.5.x ๋ฒ์ ์ false์์ 2.0.x ์๋ true๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
์ฆ ์๋ณ์ ์์ฑ ์ ๋ต์ด JPA ๊ตฌํ์ฒด์ ์ข ์์ ์ด๊ฒ ์ค์ ์ด ๋ฐ๋๋ฉด์ GenerationType.TABLE์ด ์ ํ ๋ฉ๋๋ค.
Last updated