728x90
이번 JPA 개발을 하는 도중
nested exception is com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion
에러가 발생하였다. 찾아본 결과
내가 JPA를 위해 클래스 끼리 서로 관계를 맺을려고
testA클래스 (부모)
testB클래스 (자식)
testA클래스
@OneToOne(targetEntity = TestB.class)
@JoinColumn("hm_name")
TestB testB;
testB클래스
@JoinColumn("hm_email")
@OneToOne(targetEntity = TestA.class)
TestA testA;
으로 사용하면 서로 양방향 참조를 한다.
이렇게 된다면 이것들을 매핑하는 과정 속에서 무한적으로 이뤄지는 순한참조가 일어나기 때문에
생기는 에러다
서칭해본결과
@JsonManagedRefrence : 부모
@JsonBackReference : 자식
어노테이션을 해당 관계를 설정해놓은 엔티티 위에다가 적으면된다 그러므로
testA클래스
@JsonManagedRefrence
@OneToOne(targetEntity = TestB.class)
@JoinColumn("hm_name")
TestB testB;
testB클래스
@JsonBackReference
@JoinColumn("hm_email")
@OneToOne(targetEntity = TestA.class)
TestA testA;
를 붙이니 에러가 해결되었다.
728x90
반응형
'DB > JPA' 카테고리의 다른 글
[ JPA ] 엔티티 toString 무한 호출 (0) | 2021.07.18 |
---|---|
JPA DDL (0) | 2021.02.17 |
JPA 관계 (@OneToOne, @OneToMany, @ManyToOne) (0) | 2020.10.12 |
JPA limit (0) | 2020.10.07 |
JPA - @Transient (0) | 2020.09.26 |