본문 바로가기

JPA3

[Spring] DTO에서 @Setter를 사용해도 될까?? 본문에 앞서... 간단한 게시판 토이 프로젝트를 개발하다가 발생한 문제에 대해 잊어버리지 않기 위해 기록합니다... 문제 발생 뷰 쪽에서 타임리프 템플릿을 사용하여 개발하던 도중 값을 입력하고 post 매핑으로 보냈는데 다 null값이 들어오는 문제가 생겼다! 이틀간 진짜 뭐지...?? 계속 이렇게 개발 해왔었는데 왜 안 되는 거야 하면서... 디버깅과 테스트 코드와 돌려 보는데도 뭐가 문제인지 감이 안 잡혔다. 문제 원인 바로 DTO에 Setter( )가 없다는 것!! 이게 무슨 말인가 하면... Controller에서 파라미터로 DTO를 받게 되는데 @ModelAttribute가 생략된 상태이다 ( 생략 가능 ). @ModelAttribute는 DTO 객체를 생성하고 DTO 객체의 프로퍼티를 찾아 s.. 2021. 11. 8.
[Spring-boot, JPA] 주문 시스템 만들기 2 : 엔티티 설계 엔티티 설계 앞서 정리한 테이블 설계를 바탕으로 주문 시스템에서 사용하는 엔티티를 매핑했다 회원 엔티티 @Entity @Getter @Setter @NoArgsConstructor public class Member extends BaseByEntity{ @Id @GeneratedValue @Column(name = "member_id") private Long id; @NotEmpty private String username; @NotEmpty private String email; @NotNull private Integer age; // Order 테이블에 pk를 설정했으니까 Order테이블에 있는 member와 매핑되도록 설정 @OneToMany(mappedBy = "member") privat.. 2021. 10. 17.
[Spring-boot, JPA] 주문 시스템 만들기 1 : 테이블 설계 시작에 앞서 한동안 게시글 업로드가 되지 않은건 JPA를 공부하면서 토이프로젝트를 개발해보려고 했기 때문이다... 개발이 어느정도 완료된 후 게시글을 올릴 예정이였다. 테이블 설계 다음과 같이 테이블을 설계했다. 회원과 주문은 1:N 관계 주문과 상품은 M:N 관계로 M:N 관계는 1:N 관계와 N:1 관계로 분리 상품은 영화와 스낵을 상속하는 관계 BaseTime과 BaseBy는 등록일, 수정일, 등록자, 수정자로 모든 테이블에 적용 다음과 같은 관계를 바탕으로 엔티티 매핑을 진행했다. 엔티티 매핑은 다음 게시글에서... 2021. 9. 28.