Reply
페이지 정보
![profile_image](https://dancepkt.cafe24.com/data/member_image/ad/admin.gif?1630310007)
본문
package web.domain;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import lombok.*;
@Entity
@Getter
@ToString(exclude = "board")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Reply extends BaseEntity {
@Id // primary key
@GeneratedValue(strategy = GenerationType.IDENTITY) // auto_increment
private Long rno;
@ManyToOne(fetch = FetchType.LAZY)
private Board board;
private String replyText;
private String replyer;
}
[설명]
@ToString(exclude = "board")는 toString() 메서드를 생성할 때 특정 필드를 제외하는 데 사용됩니다.
이는 toString() 메서드가 무한 루프에 빠지는 것을 방지하거나 민감한 정보를 노출하지 않기 위해 유용할 수 있습니다.
fetch = FetchType.LAZY는 엔티티를 조회할 때 연관된 엔티티를 언제 로드할지를 결정하는 방식입니다.
FetchType.LAZY는 지연 로딩을 의미하며, 이는 연관된 엔티티를 실제로 사용할 때까지 로드하지 않는다는 것을 뜻합니다.
FetchType.EAGER는 반대 개념으로, 이는 엔티티를 조회할 때 즉시 연관된 엔티티도 함께 로드하는 방식입니다.
지연 로딩은 성능 최적화에 유리할 수 있습니다.
예를 들어, 고객을 조회할 때 모든 주문을 함께 로드할 필요가 없을 때 유용합니다.
- 이전글● 다대일 연관 관계의 구현 24.06.20
- 다음글ReplyRepository 24.06.20
댓글목록
등록된 댓글이 없습니다.