Java Persistence with Hibernate는 Hibernate in Action의 2판입니다. JPA 표준에 따라 많은 부분이 변경되어, 사실 책 전체가 다시 쓰여졌다고 보는게 옳습니다. 그 전부터 조금씩 eBook을 구매해서 보고 있긴 했지만, 정식으로 번역을 하려다 보니 용어에서 부터 고민되는 부분이 많네요.
이 책이 나오게 될 출판사는 위키북스라는 곳인데요, 신생 출판사이기는 하지만 DDD 서적을 비롯해서, 곧 좋은 책들이 쏟아져 나올 예정이라고 합니다. 개인적으로는 출판사 이름이 참 마음에 들어요. 열심히 작업하겠습니다. 많이 기대해주세요.
아래는 마소지 12월호에 이달의 추천서적으로 이 책을 소개한 내용입니다. 토비님이 입원하는 바람에 제가 토비님 블로그에 올라온 글들을 조합해서 땜빵 기사로 작성한 건데요, 제 글은 아니지만 제 생각을 담아 쓴글입니다. 참고가 되었으면 좋겠어요.
보통 “xxx 바이블”이라는 이름을 가지고 나오는 IT서적은 ...
일단 그 크기가 베개급 정도 되야하고 그 안에 xxx기술에 관련된 방대한 정보가 레퍼런스매뉴얼 식으로 구성이 되어있는 것이 일반적이다. 사실 바이블이라는 말은 그런 두터운 책에 붙이는 제목이 아니다. 바이블 - 경전(또는 성경)은 영혼에 안식을 주고 피가 되고 살이 되는 의미있고 가치있는 내용이 가득 담긴 책이다. 바이블을 읽는 사람은 처음 부터 끝까지 그 내용하나 하나를 음미하고 그것이 자신의 삶에 스며들도록 깊이 묵상하고 가슴에 담아두려고 노력한다. 만약 어떤 책이 xxx바이블이라는 이름으로 불릴 수 있으려면 책의 두께와 내용의 양과 상관없이 그 내용이 정말 버릴 것 없는 양식이 되는 가치있는 내용으로 가득해야 할 것이다. 그래서 겸손한 마음으로 책의 내용을 진실되게 보는 사람에게 진리를 발견하게 하고 보다 나은 다음 인생을 만들어주는 책이어야 할 것이다. 필자가 지금까지 본 IT서적 중에서 진정한 바이블이라고 할 만한 책은 손가락으로 꼽을 정도인데, 그 중에서도 "Hibernate in Action"은 단연 으뜸이다.
Hibernate는 오픈소스 패키지임에도 불구하고 그 체계적인 구성과 방대함이 기존 고가의 상용 ORM들을 부끄럽게 할 정도로 완벽에 가까운 ORM 툴이다. 기존 엔티티빈이나 상용 ORM에서 지원하지 못하는 - 무시되던 그러나 현실에선 절실히 필요로 하는 - 기술들을 거의 완벽에 가깝게 지원한다. 그러나 이 잘난 Hibernate는 사실 배우기가 만만치 않다. 이는 ORM 기술이 가지는 특징 중의 하나인데 일단 RDB에 대해서 정통해야 하고 또 OOP에 대해서도 역시 완벽한 이해가 필요로 하고 그 두개를 연결하는 ORM 툴의 특성도 이해해야 하기 때문이다. 게다가 ORM이 가지는 오버헤드를 충분히 극복할만한 각종 최적화 방법이라던가 매핑, 트랜잭션, 캐슁 등을 다 이해하려면 꽤 방대한 지식과 이해가 필요하다. 그런 상황에서 나온 Hibernate In Action은 가뭄의 단비, 굶주린 토비에게는 피자와 같은 책이었다. 유일한 단점을 꼽으라면 Hibernate 2.x대 버전으로 설명하고 있다는 것이였는데, 2년의 긴 기다림 끝에 EJB 3.0의 JPA 표준에 맞춰 3.x대 버전으로 완전히 개정된 2판이 나온 것이다.
EJB 3.0의 핵심 요소인 JPA(Java Persistence API)는 쉽게 말해 이전의 CMP 방식의 엔티티빈을 위한 표준 API라고 할 수 있다. EJB 3.0의 성공 여부에 대해서는 이견이 많지만, JPA는 TopLink를 비롯한 ORM 솔루션의 표준으로 엔터프라이즈 개발에 많은 영향을 끼칠 것이 확실해 보인다. 그런 면에서 제목까지 변경하고 많은 부분을 JPA의 관점에서 재작성한 것은 적절한 판단이였던 것 같다. 필자는 3달 전부터 출간되기 전의 전자책을 구매해서 이 책을 보고 있는데, ORM이나 각종 DB프로그래밍의 기술들을 경험한 사람들이 현장에서 느끼는 각종 의문과 바램, 고민들이 책의 곳곳에 잘 나타나 있을 뿐 아니라, 하나의 이슈에 대해서 DB 레벨의 관점에서 부터 JDBC, ORM 더 나아가 애플리케이션, 퍼포먼스까지 다양한 시각으로 내용을 설명하고 있다. 또한 무미건조한 설명을 막기 위해서 책의 전체적으로 하나의 샘플사이트(CaveatEmptor)를 예로 드는데 실전에서 써먹을 수 있을 정도의 다양한 케이스가 잘 나타난 예제이다.
IT 업계에서는 몇 년을 주기로 기술의 큰 변화가 이뤄지는데, 이러한 변화를 기회로 삼아서 치열한 노력으로 전문가로써 한 단계 도약하는 많은 개발자들을 만나게 된다. 이 책을 통해 JPA/Hibernate 분야의 전문가로 거듭나게 되었다는 개발자들이 많아지길 기대해본다.