0. 도입이번 포스팅에서는 SQL 중심적인 개발의 문제점을 살펴보고, JPA가 필요한 이유에 대해 정리하겠습니다.이 시리즈를 접하기 전, 알아야 할 선수지식은 다음과 같습니다.객체 지향과 상속DB 테이블의 연관 관계기본키, 외래키에 대한 개념Java와 SpringBoot 대한 기본 개념위의 키워드를 처음 들어봤다면 기본적인 게시판을 만들어 보며 스프링부트를 접하고 와야 합니다.또한 JPA에 대해 다룰 때, 1차 캐시, 쓰기 지연 저장소, 트랜잭션 등 다소 어려운 내용도 소개합니다. 이해하기 쉽게 소개했지만 처음 접하는 분들은 이해가 안될 수 있습니다. 지금 당장은 어렵더라도 뒤에 글들을 이해하고 보면 한번에 이해될 것입니다. 따라서 이해가 안되는 부분들은 일단 읽어보며 넘어가는 것을 추천합니다.그럼 시작..
도입[스프링 부트와 AWS로 혼자 구현하는 웹 서비스 후기]최근에 위의 책으로 스프링부트의 전반적인 내용을 공부했습니다. 이 책은 간단한 게시판의 CRUD기능을 설계하고 배포하며 스프링 부트와 서버 설계의 전반적인 내용을 체험해 보기에는 너무 좋은 책입니다.하지만 프로젝트를 시작하며 구체적으로 객체를 설계하려다 이 책에서는 무심코 사용했던 JPA에 대해 동작 원리와 코드의 정당성에 대해 의문이 들었습니다. 결국 간단히 책을 따라 타이핑했던 코드들에 대해 "왜 이렇게 작성했을까?"라는 의문에 꼬리를 물다 보니 다음의 공통 의문에 도달했습니다.실제 서비스의 복잡한 객체들은 어떻게 설계하고 관리할까?이 의문을 해결하려다 보니 객체 설계 원리에 대해 알아야 함을 깨달았고, JPA의 작동 원리를 중심으로 실무에..