package com.lsm.boot_project01.domain;
import lombok.*;
import javax.persistence.*;
@Entity
@Getter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ToString(exclude = "board")
public class Reply extends BaseEntity{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long rno;
@ManyToOne(fetch = FetchType.LAZY)
private Board board;
private String replyText;
private String commenter;
}
@ManyToOne()은 다대일 관계 구성을 위한 설정
board와 Reply와 다대일 관계 구성 중에 @ToString을 exclude 제약없이 걸게되면 한쪽 ToString을 실행하면 다른쪽 ToString도 실행하게 되어 무한으로 실행하게 되고 StackOverFlow를 일으킨다.
즉, 참조하는 객체를 사용하지 않도록 반드시 exclude 속성값을 지정해줘야 한다.
또한 @ManyToOne과 같이 연관 관계를 나타낼 때는 반드시 fetch 속성값은 LAZY로 지정한다.