2012-07-11 2 views
2

데이터베이스를 정리하는 중입니다. 이러한 프로세스에는 특정 필드의 형식을 변경하고 데이터 무결성 문제를 제거하는 과정이 포함됩니다.Spring 데이터에서 EntityNotFoundException을 처리하는 방법 JPA (또는 표준 JPA 2)

일괄 처리로 레코드를 처리하기 위해 Spring Data 1.1이있는 프로그램을 개발했습니다. 문제는 @OneToOne 관계에있는 2 개의 엔티티에서 발생합니다. 엔티티 A에 대한 참조가 있지만 엔티티 B에 대한 레코드는 존재하지 않습니다. 그렇다면 내 일은 엔티티 B에 대한 참조를 삭제하는 것입니다.

질문 : 데이터를 사전 처리하여 데이터를 정리해야합니까? 아니면 엔터티를 찾을 수없는 경우 스프링 데이터 또는 JPA 설정을 조정하여 필드에 null을 넣을 수 있습니까?

"정상"-이 데이터와 함께 - 엔티티 B에는 존재하지 않는 엔티티 A에 FK가 있으므로이 코드를 코드에서 처리하고 추가로 데이터를 사전 처리 할 필요가 없습니다. 단계 또는 다른 도구. 데이터가 일괄 적으로 도착하므로 모든 사전 처리로 인해 사용자가 작업을 더 복잡하게 만듭니다.

요약하면 스프링 데이터가 null로 필드를 설정하고 org.springframework.orm.jpa.JpaObjectRetrievalFailureException: Unable to find...이 아닌 프로세스를 계속 진행하기를 원합니다.

답변

2

아마도 @NotFound 특수 효과를 찾고 있습니까?

Here은 그것에 대해 이야기하는 게시물입니다.

+0

완벽하게 작동했습니다. 감사! – aym

+0

링크 전용 답변은 커뮤니티에 유용하지 않습니다. 링크가 끊어진다면 어떻게 될까요? – JimHawkins

0

내 orm 매핑에 잘못된 @ 일대일 단방향 관계가 있기 때문에 동일한 문제가 발생했습니다.