JPA에서 순환참조를 해결하는 방법 | @JsonIgnore, @JsonManagedReference, @JsonBackReference
JPA는 ORM이기 때문에 RDB를 관리하는데 있어서 양방향 참조를 필요로 한다. 물론 필수는 아니지만 Entity는 본질적인 데이터를 표현하는 것이기 때문에 그 관계에 대하여 명세해주는 것이 원칙이라고 생각한다. (이에 대해 별개로 처리하는 부분이 있다면 DTO를 통하는 방법이 맞다고 생각한다.) 이러한 양방향 참조로 인해서 RESTFul API 서버를 구현하는데 있어서 문제가 생겼는데 바로 응답에 Entity를 담아서 보낼 경우에 JsonSerializer가 toString()을 호출할 때 property들을 매핑하는 과정에서 무한 순환 참조가 일어나게 되는 문제이다. 예를 들어 다음과 같다. public class Article { @Id private long id; // ... @OneToMan..
JPA
2016. 12. 11. 15:36