본문 바로가기
Project/소경관

[소경관] : 프로젝트에 적용하기 위해 JPA Builder, Entity 사용 공부 중

by 오주현 2022. 4. 9.
반응형
  • 회원가입 로직을 짜려고 했는데 시작부터 바로 막혔다.
    • JPA를 사용해 본 적이 없기도 하고 Entity를 사용해 본 적이 없기도 해서 막혔다.
    • 오늘 스터디부터 쭉 찾아보면서 알아낸 것을 간단히 정리해 본다.
    • 지금까지 캐치한 것
      • JPA를 처음 사용해 보면서 DTO대신 Entity를 사용했는데 Entity 사용법이 어렵다.
      • 먼저, Entity는 일관성을 보장하기 위해 Setter를 사용하면 안 된다.
      • 때문에 따로 생성자를 만들거나 Builder를 사용해야 한다.
      • 또, Entity를 DTO로 매핑하여 사용하는 방법도 있는 것 같다.
      • Builder를 만들 수 있지만 @Builder 어노테이션을 활용해 쉽게 만들 수도 있는 것 같다.
    • 문제
      • 캐치한 것에 대한 확신이 없다.
        • 왜? → 구현을 해 본 적이 없어서.
    • 나는 어떻게 해봤나?
    @Data
    public class UserDTO {
    
        private Long userNo;
        private String userName;
        private String userPn;
        private String userEmail;
        private String userId;
        private String userPw;
        private String userAddr;
    
    • DTO를 먼저 Entity 컬럼과 똑같이 만들어 주었다.
    • @Data 어노테이션을 사용했다.
      • Setter 가능
@Builder
public UserEntity(UserDTO userDTO) {
    this.userName = userDTO.getUserName();
    this.userPn = userDTO.getUserPn();
    this.userEmail = userDTO.getUserEmail();
    this.userId = userDTO.getUserId();
    this.userPw = userDTO.getUserPw();
    this.userAddr = userDTO.getUserAddr();
}
  • Entity에서 DTO를 매핑시켰다.
  • 확신이 안 서는 점
    • @Builder가 자동으로 생성자를 만들어 주는 것으로 알고 있는데 이렇게 사용해도 되는 것인지 잘 모르겠다.
  • 오늘
    • JPA한 내용이 매우 적어 보인다.
    • 오늘은 검색만 4시간 이상 하면서 찾아봤다.
    • JPA를 사용해 본 적이 한 번도 없어서 검색으로 공부하고 있다.
    • 강의를 빨리 들을까 싶지만, 강의를 다 듣고 공부할 시간은 없다.
    • 빨리 검색을 통해 우선은 필요한 지식을 습득하고 나중에 강의로 보강해야겠다.
      • 이게 김영한 강사님이 말한 야생형인가 싶다..
반응형

댓글