@ToString/@ManyToOne

라이라·2023년 7월 24일
0
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로 지정한다.

profile
혼자 보려고 올리는 용도

0개의 댓글