Enum 3

JPQL문에서 Enum 사용하기

멤버 엔티티 @Entity @NoArgsConstructor @Getter @Setter public class Member extends Auditable { ... ... @Enumerated(value = EnumType.STRING) @Column(length = 20, nullable = false) private MemberStatus memberStatus = MemberStatus.MEMBER_ACTIVE; ... ... public enum MemberStatus{ MEMBER_ACTIVE("활동중"), MEMBER_SLEEP("활동 중지"), MEMBER_QUIT("활동 정지"); @Getter private String status; MemberStatus(String status) ..

UnexpectedTypeException과 DTO에서 Enum타입 사용

처음 시작은 게시판의 게시글을 post 하기 위한 DTO를 작성하고 요청을 보내 테스트하던중 UnexpectedTypeException 예외가 발생하였다. (해당 예외 이름에서 알 수 있듯이 요청으로 받은 JSON 파일이 다른 타입을 제공하고 있어서 발생한 예외이다. 이것만 좀더 일찍알았더라면 2시간을 허비하지 않았을텐데...) 발생한 예외의 DTO와 Enum 코드 DTO public class PostsDto { @Getter @Builder @Setter public static class Post{ ... ... @NotBlank private String title; @NotBlank // 예외 발생지점 private Posts.PostStatus postStatus; @NotBlank priva..

열거형 (Enum)

열거형(Enum) 열거형은 서로 연관된 상수들의 집합이다. 기본 예시) enum Seasons {SPRING, SUMMER, FALL, WINTER} //enum 열거형이름 {상수명1, 상수명2....} Seasons.SPRING // 열거형이름.상수명 - 상수에 접근 열거형으로 정의된 상수마다 첫 상수에 정수값 0이 할당되며 순서대로 다음 정수값이 할당된다. 열거형 메서드 리턴 타입 메서드 설명 String name() 열거 객체가 가지고 있는 문자열을 리턴하며, 리턴되는 문자열은 열거타입을 정의할 때 사용한 상수 이름과 동일합니다. int ordinal() 열거 객체의 순번(0부터 시작)을 리턴합니다. int compareTo(비교값) 주어진 매개값과 비교해서 순번 차이를 리턴합니다. 열거 타입 va..

Java/Java 2023.03.06