티스토리 뷰

반응형

JPA 그래프 탐색

JPA를 사용하기 위해서 만든 도메인 객체 A,B가 있다고 가정해보자. A객체가 B객체에 대한 방향을 갖는다고 할 때, A객체는 B객체의 그래프 탐색이 가능하다. (쉽게 말하면 A.getB를 이용해서 B정보를 가져 올 수 있다는 점이다.)


근데 엄청난 착각을 하고 있었다. A객체는 B객체를 Lazy하게 가져온다고 했을 때, 그래프 탐색이 가능한 범위의 레이어는 컨트롤러단 까지라고 생각했다. 뷰단에서는 막연하게 응답 이후에 처리 된다고 생각했는데, 스프링MVC 구조를 떠올리지 못했다.



위의 사진은 스프링 MVC의 구조를 잘 나타내고 있다. 요청부터 응답까지 어떤 과정으로 되어 있는지 도식화 해두었다. A객체가 B객체의 그래프 탐색이 가능한 범위는 위의 사진에 나와있는 모든 단계에서 가능하다. 타임리프(혹은 jsp)를 활용한 view단에서도 A.B를 사용할 수 있다는 뜻이다. 이 사진을 스프링을 처음 배울때도 알고 있었는데, 이제야 무릎을 치면서 알게 되었다. 바보같이 사용해온 지난 날을 후회한다.. 흑흑

반응형
댓글