JPA/Issue / / 2021. 6. 30. 17:08

[JPA-ISSUE] EntityNotFoundException

반응형

로그 조회 API를 만들던중에 마주한 오류 EntityNotFoundException
프로젝트 초기의 테스트 데이터를 계속 유지하다보니,
현재 데이터와 구조는 같지만, 참조하는 id값(ex. 100 = 유저조회, 200 = 계정 삭제)이 달라진것

 

 

처음엔 join과정에서 outerjoin이 되지 않는다고 판단하고 해당 옵션들을 찾았다.

@ManyToOne 의 optional = true

@JoinColumn 의 nullable = true

위의 두가지의 default 값은 true 였으며, 이는 outerjoin을 허용.
당연히 해결되지 않았다.

 

 

@NotFound로 해결(default =NotFoundAction.EXCEPTION)

@NotFound(action = NotFoundAction.IGNORE)

 

 

optional과 nullable은 many에 있는 외래키 컬럼이 null 케이스에 적용되며,
@NotFound는 컬럼의 값들은 있지만, 해당값을 PK로 가지는 데이터가 One에 해당하는 테이블에 없는 경우에 적용하는것으로 이해했다. -> (데이터를 직접 삽입하는 경우가 아니라면 오류는 존재하지 않을것으로 보임.)

반응형

'JPA > Issue' 카테고리의 다른 글

[JPA-ISSUE] @Scheduled 실행 시, Transaction처리  (0) 2023.07.10
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유