@JsonIgnoreProperties({"board"}) @OneToMany(mappedBy = "board", fetch = FetchType.EAGER, cascade = CascadeType.REMOVE) private List replyList; board를 통해서 호출했을 때 replayList의 board 객체 재참조를 안한다는 뜻. reply.java안에 내용은 이게 들어가 있음. @ManyToOne @JoinColumn(name = "boardId") private Board board; Board Model @OneToMany(mappedBy = "board", fetch = FetchType.EAGER) @JsonIgnoreProperties({"board"}) private List..

@ManyToOne(fetch = FetchType.EAGER)// n:1 회원은 많은 양의 핸드폰을 소유해도 됨. : 그 핸드폰의 주인은 한명 데이터베이스 테이블의 다대일, 일대다 관계에서는 항상 다 쪽이 외래 키를 가짐. @JoinColumn(name = "user_id") // private User user; 이래 하면 Hibernate: alter table event add constraint FKi8bsvlthqr8lngsyshiqsodak foreign key (user_id) references user (id) event의 테이블은 user의 id에 외래키 참조가됨. 항상 n:1이면 다 쪽이 외래키가 됨. 이제 어디서든 User의 id랑 join해서 가져오면 됨. 참고 출처 https:..

JPA다루기 (5) DTO 프로세스 간 통신이 일반적으로 원격 인터페이스(예: 웹 서비스)로 재정렬하면서 이루어지게 되는데 여기에서 각 호출의 비용이 많다는 점을 동기로 하여 이용하게 된다.각 호출의 비용이 큰 것 velog.io DTO(Data Transfer Object) 란? 등장배경 프로세스 간 통신이 일반적으로 원격 인터페이스(예: 웹 서비스)로 재정렬하면서 이루어지게 되는데 여기에서 각 호출의 비용이 많다는 점을 동기로 하여 이용하게 된다. 각 호출의 비용이 큰 것이 클라이언트와 서버 간 왕복 시간과 관련되기 때문에 호출의 수를 줄이기 위해 여러 호출에 의해 전송되는 데이터를 축적하면서 오직 하나의 호출만으로 서비스되는 객체인 DTO를 사용하는 것이다. 특징 로직을 갖고 있지 않는 순수한 데이..