id에 @NotEmpty를 한다면
447
작성한 질문수 74
@Data
public class Member {
@NotEmpty
private Long id;
@NotEmpty
private String loginId; //로그인 ID
@NotEmpty
private String name; //사용자 이름
@NotEmpty
private String password;
}제가 실수로 id에 @NotEmpty를 하니까 회원가입 버튼을 눌렀더니 오류가 났습니다.
오류가 나는 이유는 id의 오류처리를 안해서라고 생각하는 데 만약에 오류처리를 해야한다면
MemberRepository의
@Slf4j
@Repository
public class MemberRepository {
private static Map<Long, Member> store = new HashMap<>(); //static 사용
private static long sequence = 0L; //static 사용
public Member save(Member member) {
member.setId(++sequence);
log.info("save: member={}", member);
store.put(member.getId(), member);
return member;
} save() 메소드에서 하면 되는 걸까요??
(id는 다른 필드들과 다르게 html에서 처리할 수 없으니까??)
아니면 id는 데이터베이스에 들어가는 거니까 애초에 @NotEmpty 를 사용하면 안된다 라고 생각해야 건가요?? (개발자가 직접 입력한 것이 아니니까?)
답변주시면 정말 감사하겠습니다.
답변 1
0
안녕하세요. 코딩먹는하마님, 공식 서포터즈 OMG입니다.
.
회원가입할 때 id는 비어있는게 맞고, 올리신 코드의 save 메서드에서 Id가 부여됩니다.
저라면 회원가입을 위한 MemberForm을 만들되, id와 같이 후속 프로세스가 진행되어야 값이 세팅되는 id 필드는 제거하고 화면단에서 정말로 입력을 받거나, 값이 채워져야하는 필드로만 구성을 하고
회원 엔티티는 별도로 생성하여 개발할 것 같습니다.
Member클래스가 회원가입을 위한 객체로 사용이 되기 때문에 발생한 상황입니다.
말씀 드린 것처럼 별도의 클래스를 구성하는 방법을 생각해보시면 될 것 같습니다.
.
감사합니다.
이미지 업로드와 db 트랜잭션 묶는법
0
50
1
Could not resolve org.springframework.boot:spring-boot-starter-validation:2.4.4
0
60
2
MessageSourceTest 코드
0
50
1
인터셉터 에러 설정
0
49
1
resolveArgument()메서드 질문
0
58
1
43강 검증1 에서 실패 로직 관련 질문있습니다.
0
64
2
타임리프 3.X 버전 rendering, serializer 에러 해결 방법
2
134
3
스프링 빈에 등록이 안되는거 같은데 어떻게 하면 좋을까요?ㅠㅠ
0
93
3
pdf 오타 문의
0
58
1
ItemUpdateForm 검증 관련 질문입니다.
0
52
1
22page 링크 주소 변경
0
59
2
특정 데이터와 파일을 함께 저장 시, 테이블 구조 질문
0
53
1
섹션3번 수업에 대한 질문입니다.
0
85
2
@Autowired 보다 더 좋은 방법이 어떤 걸까요?
0
87
2
타입컨버터 가 람다랑 비슷해 보이는데 저의 생각이 맞는지?.
0
66
1
자바스크립트 인라인에서 객체 직렬화 시 오류가 납니다
0
143
3
스프링부트 - 오류페이지2 에서 500.html 에서 쓰인 객체 질문
0
66
1
톰캣 에러 페이지가 안보입니다.
0
108
2
apiEceptionController에서 센드 에러 호출하면 안되는지?
0
81
1
세션 타임아웃시 쿠키 삭제 방법이 없나요?
0
120
2
ApiExceptionController 질문드립니다.
0
64
1
셀렉박스 챕터에서 option value에 ==배송 방식 선택== 이것을 넣은 이유가 궁금함, 이렇게 구상해도 되는지?
0
67
1
MemberRepository 필드의 fianl 선언 유무
0
85
2
혹시 index.html 에서는 fragment 사용이 안되는건가요
0
60
1





