우리가 과거 SpringDataJPA를 썼을 때의 구조를 보자. 뭔가 우리가 의도했던 repository가 SpringDataJpaRepository와 어댑터 역할을 하는 꼴이 되었다. 그리고, 한눈에 보기에도 좀 복잡해 보인다. 뭐 이렇게 보면 낫긴하다. 여튼간에, 유지보수에도 비용이 든다. 예를 들어 서비스가 추상화에 의존하지 않고 바로 저 SpringDataRepository구현체를 의존한다고 생각해보자. 이게, 우리가 객체지향 SOLID 하면서 추상화에 의존하는게 좋다고 하긴 했지만, 어떤 게 나은지 진짜 곰곰히 생각해 봐야 한다. 만약 위처럼 우리가 의도한 리포지토리가 SpringDataJpaItemRepository의 어댑터 역할을 한다고 했을 때, 유지보수할 때 Service에서는 뭘 의존하..