하나의 엔티티 "B"와 일대 다 관계 (1 : n)가있는 엔티티 "A"가 있습니다. 불행히도 (년 동안 존재하는) 데이터베이스는 A의 기본 키에 대해 B의 열을 NOT NULL로 정의하지만 관계는 필수는 아닙니다. 따라서 Emtity A가 관련되지 않으면이 열은 단순히 -1을 얻습니다.JPA 관계에서 NULL로 처리되는 값을 설정하는 방법
어떻게 이것을 JPA/Hibernate에서 매핑 할 수 있습니까? 다음과 같은 예외가 발생합니다.
Exception in thread "main"
javax.persistence.EntityNotFoundException:
Unable to find A with id -1
저는 이것이 맞지만 해결 방법이있을 수 있습니다.
그리고 당신은 B.a
특성에 @NotFound(action = NotFoundAction.IGNORE)
주석을 사용할 수
'@ NotFound' 주석은 이러한 엔티티와 릴레이션을로드하는 데 도움이됩니다. 이제는 상속을 사용하여 NULL-Assignments를 수정했습니다. ExplicitObject.setRelation (relObj)는 내부적으로'AbstractParent.setRelationId (relObj == null? -1 : relObj.getId())'를 호출합니다. JPA/Hibernate가 일을 단순화하는 방법 –