@JsonIgnore
- 📚 Spring/Spring JPA
- 2020. 9. 4. 09:07
양방향 연관관계에서는 둘중 하나를 @JsonIgnore 해줘야 한다.
그렇지 않으면 무한루프에 빠질 수 있다.
예시
@Entity
@Table(name = "orders")
@Getter
@Setter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Order {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "order_id")
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;
@OneToMany(mappedBy = "order", cascade = CascadeType.ALL)
private List<OrderItem> orderItems = new ArrayList<>();
@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "delivery_id")
private Delivery delivery;
private LocalDateTime orderDate; // 주문시간
private OrderStatus status; // 주문상태 : [ORDER, CANCEL]
............
}
@Entity
@Getter @Setter
public class Member {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "member_id")
private Long id;
@NotEmpty
private String name;
@Embedded // 내장type 을 포함했다.
private Address address;
@JsonIgnore // JSON으로 표현해줄때 제외한다
@OneToMany(mappedBy = "member") // Order 테이블의 member에 의해 매핑된다.
private List<Order> orders = new ArrayList<>();
}
'📚 Spring > Spring JPA' 카테고리의 다른 글
[정리] 플러시 (flush()) (0) | 2022.03.16 |
---|---|
[정리] 영속성 컨텍스트 및 엔티티 (0) | 2022.03.15 |
[Spring JPA #12] 커스텀 리포지토리 (0) | 2020.07.22 |
[Spring JPA #11] 쿼리 실습 (0) | 2020.07.19 |
[Spring JPA #7] Query (0) | 2020.07.15 |