PersistentObjectException: detached entity passed to persist 에러(연관관계)

프로젝트

목록 보기
28/39

org.hibernate.PersistentObjectException: detached entity passed to persist: com.myomi.product.entity.Product

-> 찾아보면 Cascade문제다, sequence문제다 말만 있어서 다해봤는데 안됨
결국 생각 해낸건 연관관계!

  • OrderDetail은 Order와 Product의 PK를 -> FK이자 PK로 가지고 있음
  • Order와는 연관관계 편의메서드로 연결해줬는데 Product는 연결해주지 않은 상태였다.
    Cascade고 뭐고 다 상관없었고 연관관계 편의 메서드를 넣어주니까 해결됨..
  • orderDetail 을 entity 객체로 만들 때 연관관계를 등록시켜줬다.
  • 연관관계 메소드는 아래
// OrderDetail 클래스 내부
public void registerOrderAndProduct(Order order, Product product) {
     this.order = order;
     this.product = product;
     order.addOrderDetail(this); // 이거 안해주면 one-to-one에러뜸. 지긋지긋하다
}

// Order 내부
public void addOrderDetail(OrderDetail orderDetail) {
     this.orderDetails.add(orderDetail);
}
  • 진짜 양방향, 연관관계 많으니까 너무 어렵다.!!!!!!!!!
profile
백엔드를 공부하고 있습니다.

0개의 댓글