* 도서정보: http://www.yes24.com/24/Goods/19040233?Acode=101

내가 JPA를 처음 접한 것은 대략 4년전, apache의 OpenJPA(http://openjpa.apache.org/) 였다.

그전까지는 iBatis를 조금 사용했을 무렵이다. 지금도 쿼리에는 취약하지만, 그 당시에는 프로젝트에서 사용하는 기술을 따라잡는데도 버거웠던 시절이다.

프로젝트 매니저께서 스트럿츠2, 오픈JPA를 기반으로 프로젝트를 진행하기로 하면서 나의 지옥은 시작되었다.
스프링 3.X를 사용하다가 스트럿츠2+오픈JPA를 쓸려니 어디서부터 어떻게 시작해야할지 막막한 상황에서 초강력의 학습강제력까지 쏟아지면서 난감하기만 했다.
그나마 쿼리 압박을 당하지 않았기에 다행이랄까??

우여곡절 끝에... 프로젝트 두 개를 동시에 마무리 짓고 회사에서 진행하는 새로운 솔루션 개발프로젝트에 합류했다.
다행히(?!) 그 프로젝트에서는 스프링+스프링데이타 JPA+QueryDSL을 사용하고 있었다.
우선은 하이버네이트 프로그래밍(http://m.yes24.com/Goods/Detail/3892382) 책을 통해서 개념을 다잡아가기를 시작했다.

하지만.... 여전히 배워야할 게 많다.

그 후로, 나는 쿼리를 직접적으로 다루는 경우가 거의 없었다. 내가 했던 대부분의 작업이 웹기반의 CRUD작업이었고, 엔티티 객체들을 조작하는 것으로 대부분의 데이터 관련 작업들을 처리하는데 무리가 없었기 때문이었다.

각 개발자들의 로컬에서는,
- H2Database
기능테스트는 개발서버의
- MariaDB
그 밖의 상황에 따라 적절하게 교체할 수 있기 때문이다.

지금도 개발할 때는 스프링의 'Profile' 기능을 이용해서 개발하고 있다.
그 간단한 예제로는...
https://github.com/ihoneymon/honeymon-blog

요즘은 테스트할 때 DB 저장과 관련된 부분은 목객체를 사용하기보다는 h2Database를 인메모리in-memory 로 설정하여 구동시키는 편이다. ㅡ_-);; 목객체 만들기 귀찮...

2년 전에 깃헙에 만들어둔 메이븐으로 만든 프로젝트도 보면 Spring Data JPA가 붙어 있다.


이는 하이버네이트에서 제공하는 방언Dialect 덕분이라고 할 수 있다. 각 DB에 맞춰 처리해줬기 때문에 초반에 환경설정만 하고나면 이후에는 개발에만 집중하면 됐다.

그렇게 주먹구구식으로 JPA 기술을 체득하며 사용하던 내게 좋은 참고서가 생겼다.

김영한님이 2년간 심혈을 기울여 세상에 선보인, 이 책!

바로 예약구매를 걸어놓고 기다리다가 받자마자 읽어내려갔다.

많은 분들의 검수를 받으며 잘 다듬어진 문장은 술술 읽어내려갈 수 있었다. 3일 만에 쭈욱 읽어내렸다.

그리고 때마침 회사에서 SAP의 e-commerce 솔루션 hybris를 기반으로 프로젝트를 진행하고 있는 것들이 있어 사내에 '책읽기 모임'을 주선한다. 오랜 만에 사내 스터디인 덕분에 회사에서 도서구매비를 지원해주었다.

samsung | SM-N920S


다른 구현체이기는 하지만, JPA를 공부하면서 사람들이 ORM에 대한 개념을 이해하는데 큰 도움이 되었다. 자신들이 사용하던 기술들에 대한 궁긍증을 해소하는 순간 그 기술들에 대한 이해도가 급상승하는 효과가 있다는 것은 다들 알고 있을 것이다.


대략 한달 반(매주 화요일 역삼 본사에 모였다)이 걸려서 모두 읽어냈다. 모두가 함께 마쳤다는 것이 참 만족스러움을 준다.
읽으면서 줄치고 기억해둬야하는 개념이 정의되어 있는 곳은 태그를 붙여놨다. 언제든지 궁금증이 생기면 찾아볼 수 있도록.


이 책의 저자 영한님이 최근 개인방송도 시작했다.

다음에 기회가 닿으면 쐬주나 한잔 하자고 해야겠다. ㅋㅋㅋ
서울말을 구수한 부산억양으로 구사하는 김영한님이 앞으로도 좋은 책을 내어주길 기대하며.


저작자 표시
신고

+ Recent posts