Java/Framework & Libs

회사에서 MyBatis로 구현되어 있던 프로젝트를 새로 구축하면서 hibernate를 써보기로 했다.

허니몬 2013. 4. 4. 00:43

회사에서 MyBatis로 구현되어 있던 프로젝트를 새로 구축하면서 ORM을 써보기로 했다.

  리팩토링한다고 일정을 잡았는데, 내가 아는 리팩토링(기능에 크게 변형을 가하지 않으면서 코드 구조를 개선하는 작업이랑 정돈되지 않은 URL을 REST 형태로 잘 정돈)이랑 회사에서 이야기되는 리팩토링(기능개선하고 기능추가하고 구조를 바꾸고... 리모델링이잖아!!)이 서로 차이가 있었다.

  회사에서 4개월 정도 진행된 프로젝트를 새로이 구축하며 진행하기로 했다.

  설계당시에는 고려하지 못했던 변경사항들이 적용된 DB model 구조의 누더기같은 모습에

'ORM'으로 하면 이런 거 신경쓰는 일이 줄어들텐데...

DDD에 대한 환상을 가지고 있는지도 모른다. @_@) 

빠른 시간안에 결과물을 내놓는 개발방식으로 채용해도 나쁘지 않다는 경험을 가지고 있다.

  MyBatis로 Mapping Class와 DB 테이블들의 구성을 맞추는 작업이 귀찮아졌다... Orz... 내가 한 것도 아닌데...

  예전에(2년 전?) 몇달 정도 사용해봤던게 전부인지라, 쿼리쪽은 건드릴 엄두가 나질 않는 무서운 상황을 피하려고 무리수를 둔 것인지도 모르겠지만... 나로서는 기존에 해왔던 것들에 대한 속성심화과정을 하는 것이라 좋은 기회일지도 모른다.


회사에서 기본구조로 잡을 프로젝트 구성과 유사한 형태로 틀을 잡아봤다.

  Hibernate를 Spring Data JPA로 감싸서 사용할 예정이다. 

  프로젝트 기본구조는 잡아놨으니, 이제 도메인 클래스들에 대한 설계작업을 진행하려고 한다.

각 도메인들간의 관계를 잡아두고, 클래스로 만들어내고, 클래스 다이어그램으로 추출하면 간단하겠지!!

4개월 개발한 프로젝트를 한달만에 부지런히 만들어내야 하는 상황에 놓였다.

잘 할 수 있으려나 모르겠네. 다른 사람이 잡아주던 환경위에서 개발하는 것에만 익숙하다가 내가 환경설정을 하고 개발을 진행한다는 게 쉬운 일은 아닌데 말이지...

이번 기회에 jenkins를 통한 배포도 정착화시킬 수 있으면 좋겠는데...


내 자신에게 Good luck for me!