JPA 에러: save the transient instance before flushing
개인 프로젝트의 테스트 코드에서 위와 같은 에러가 발생했다. 오브젝트가 저장되지 않은 인스턴스를 참조하고 있다는 메시지로 보인다. 검색 결과 FK 로 사용되는 컬럼에 값이 없는 상태에서 데이터를 넣으려다 발생한 에러인 듯 싶다. 예를 들어 멤버(id, name, team_id), 팀(id, name)의 테이블에서 팀의 데이터가 없는 채로 멤버의 데이터를 넣으려고 하면 위의 에러가 발생한다는 뜻이다. 이 경우 멤버를 영속상태로 만들때 팀도 자동으로 영속화해주는 Cascade 옵션을 사용해 해결이 가능하다. 상품(Item) 1 : N ItemCategory N : 1 카테고리(Category) 의 테이블에서 @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType..
2022.06.07