728x90
@Enumerated
์๋ฐ์ enum ํ์ ์ ๋งคํํ ๋ ์ฌ์ฉํฉ๋๋ค.
์์ฑ
์์ฑ | ๊ธฐ๋ฅ | ๊ธฐ๋ณธ๊ฐ |
value | EnumType.ORDINAL : enum ์์๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ EnumType.STRING : enum ์ด๋ฆ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ |
EnumType.ORDINAL |
๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด EnumType.STRING์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
์์
enum RoleType {
ADMIN, USER
}
@Enumerated(EnumType.STRING)
private RoleType roleType;
EnumType.ORDINAL
enum์ ์ ์๋ ์์๋๋ก, ADMIN์ 0, USER์ 1๊ฐ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ฉ๋๋ค.
- ์ฅ์ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ์์ต๋๋ค.
- ๋จ์ : ์ด๋ฏธ ์ ์ฅ๋ enum์ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ฌ์ฉํ์ง ์๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค.
EnumType.STRING
enum ์ด๋ฆ ๊ทธ๋๋ก ADMIN์ 'ADMIN' ์ผ๋ก ์ ์ฅ๋๋ค.
- ์ฅ์ : ์ ์ฅ๋ enum์ ์์๊ฐ ๋ฐ๋๊ฑฐ๋, enum์ด ์ถ๊ฐ๋์ด๋ ์์ ํ๋ค.
- ๋จ์ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ORDINAL์ ๋นํด์ ํฌ๋ค.
์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค.
๐ Reference
[์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊น์ํ]
728x90
'๐๏ธ Spring > JPA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JPA] ํ๋์ ์ปฌ๋ผ ๋งคํ - @Lob (0) | 2021.12.14 |
---|---|
[JPA] ํ๋์ ์ปฌ๋ผ ๋งคํ - @Temporal (0) | 2021.12.14 |
[JPA] ํ๋์ ์ปฌ๋ผ ๋งคํ - @Column (0) | 2021.12.14 |
[JPA] ์ํฐํฐ ๋งคํ - @Entity, @Table (0) | 2021.12.13 |
[JPA] ํ๋ฌ์์ ํ๋ฌ์ ํ์ (FlushModeType) (0) | 2021.12.12 |