org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing :

Yunny.Log ·2022년 7월 4일
0

Debugging

목록 보기
30/69
post-thumbnail
post-custom-banner

org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing :

띠용~ 이건 뭔 에러인가!?

FK 로 사용되는 컬럼값이 없는 상태에서 데이터를 넣으려다 발생한 에러 / FK로 쓰는 객체가 아직 저장이 안 되서 오류가 난다고 한다.
객체간 @OneToMany, @ManyToOne같은걸 쓸 때

라고 한다.

나의 상황

@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
@EqualsAndHashCode
@IdClass(ABCId.class)
public class ABC {

    @Id
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "A_id")
    private A a;

    @Id
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "B_id")
    private B b;

    @Id
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "C_id")
    private C c;

}
  • 따라서 A,B,C를 다 생성한 뒤 ABC를 생성하면 GAME OVER

출처

https://conservative-vector.tistory.com/entry/오류 [에움길:티스토리]

post-custom-banner

0개의 댓글