๐คผโโ๏ธ enum ํด๋์ค ์ ์
์ด๊ฑฐ์ฒด๋ฅผ ๋น๊ตํ ๋ ์ค์ ๊ฐ๊ณผ ํ์ ๊น์ง ์ฒดํฌํ ์ ์๋ ํด๋์ค
๐ enum ํด๋์ค ํน์ง
- ์ด๊ฑฐํ์ผ๋ก ์ ์ธ๋ ์์์ ๋ฐ๋ผ 0๋ถํฐ index ๊ฐ์ ๊ฐ์ง๋ค.(์์ฐจ์ ์ผ๋ก ์ฆ๊ฐ)
- enum ์ด๊ฑฐํ์ผ๋ก ์ง์ ๋ ์์๋ค์ ๋ชจ๋ ๋๋ฌธ์๋ก ์ ์ธํ๋ค.
- ์ด๊ฑฐํ ๋ณ์๋ค์ ์ ์ธํ ํ ๋ง์ง๋ง์ ์ธ๋ฏธ์ฝ๋ก (;)์ ์ฐ์ง ์๋๋ค.
- ์์์ ํน์ ๊ฐ์ ์ฐ๊ฒฐ์ํฌ๊ฒฝ์ฐ ๋ง์ง๋ง์ ์ธ๋ฏธ์ฝ๋ก (;)์ ๋ถ์ฌ์ค์ผํ๋ค.
enum ์ด๊ฑฐ์ฒด์ด๋ฆ {๊ฐ1, ๊ฐ2, ๊ฐ3 ... }
์ด๊ฑฐ์ฒด์ด๋ฆ ๋ณ์๋ช
;
package com.koreait.day4.model.enumclass;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum UserStatus {
REGISTERED(0,"๊ฐ์
","์ฌ์ฉ์ ๊ฐ์
์ํ"),
UNREGISTERED(1,"ํํด","์ฌ์ฉ์ ํํด์ํ");
private Integer id;
private String title;
private String description;
}
EnumType.ORDINAL : enum ์์ ๊ฐ์ DB์ ์ ์ฅ
EnumType.STRING : enum ์ด๋ฆ์ DB์ ์ ์ฅ
package com.koreait.day4.model.entity;
import com.koreait.day4.model.enumclass.UserStatus;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.time.LocalDateTime;
@Entity
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class Users {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String userid;
private String userpw;
private String name;
private String hp;
private String email;
@Enumerated(EnumType.STRING)
private UserStatus status;
private LocalDateTime regDate;
private LocalDateTime updateDate;
}
@Test
public void create() {
AdminUser adminUser1 = AdminUser.builder().userid("watermelon")
.userpw("7777").name("์๋ฐ").status(UserStatus.UNREGISTERED).build();
AdminUser adminUser2 = AdminUser.builder().userid("orange")
.userpw("8888").name("์ค๋ ์ง").status(UserStatus.REGISTERED).build();
adminUserRepository.saveAll(Lists.newArrayList(adminUser1,adminUser2));
List<AdminUser> adminusers = adminUserRepository.findAll();
adminusers.forEach(System.out::println);
}