dto에 toentity 만들어서 빌더로 값을 넣어준다. 이렇게 하면 dto를 entity로 사용할 수 있다.
@Data
public static class JoinDTO {
private String username;
private String password;
private String email;
public User toEntity() {
return User.builder()
.username(username)
.password(password)
.email(email).build();
}
}
빌더 선언
@Builder
public User(Integer id, String username, String password, String email, Timestamp createdAt) {
this.id = id;
this.username = username;
this.password = password;
this.email = email;
this.createdAt = createdAt;
}
리포지토리
@Transactional
public User save(User user) {
em.persist(user);
return user;
}
컨트롤러 작성
@PostMapping("/join")
public String join(UserRequest.JoinDTO requestDTO) {
User sessionUser = userRepository.save(requestDTO.toEntity());
session.setAttribute("sessionUser", sessionUser);
return "redirect:/";
}


잘들어감
회원가입이 되면 바로 로그인 된 상태로 메인 페이지로 넘어가진다.