본문으로 바로가기
A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance

oneToMany save() 호출할때 위와 같은 에러 발생.

one 관계 - Entity 에서

Many 관계 테이블 정의를 아래와 같이 했을텐데

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
@JoinColumn(name="userSeq")
private Collection<LoginUserAuthority> authorities = new ArrayList<LoginUserAuthority>();

saveAll() 호출하기 전 아래와 같이 추가 해주면 된다. 

oneIntance.getAuthorities().clear();

기본 VO 처럼 생각해서 아래와 같이 코드가 되어 있었는데

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
@JoinColumn(name="userSeq")
private Collection<LoginUserAuthority> authorities;

아래처럼 변경

private Collection<LoginUserAuthority> authorities = new ArrayList<LoginUserAuthority>();

 

에러는 해결완료