본문 바로가기

nerv-team.co.kr

[Hibernate] Spring + Hibernate Mapping 준비 Middlegen Plugin 설치

Spring 의 Rowmapper 를 사용하는 것이 너무 불편하다는 Antop 의 의뢰 요청으로 인해  ,Spring  과 Hibernate 연동을 조금 일찍 하게 되었습니다~.... (하이버네이트는 자기만 편하지 뭐.. 우린 여전히 생소 하다규~ 꿍시렁꿍시렁..) 
제목이 무지 길지만 간단하게 설명하자면, 일단, Hibernate 는 JAVA 와 xml 을 맵핑하여 사용합니다.
이 java 와 xml 을 일일히 다 적지 않고, reverse 하는 eclipse ide tool 이 몇가지 종류가 있는 가운데에,
책에서 본 Middlegen 을 이용해서 해 보겠습니다. ^^

일단 http://joke00.tistory.com/107 에서 Shop.war 파일을 다운받아 이클립스에 이쁘게 import 시킵니다.
(여기서 이쁘게라는 말은.....?? 빨간 엑스표시가 안 나도록 잘 import 시키는 것을 말합니다. library 잡아주고, buildPath 를 잘 잡아주세요~ 혹시 모르시는 분은,, 네이버에 널렸으니 검색 ㄱㄱㄱㄱㄱㄱ)


Middlegen URL : http://boss.bekk.no/boss/middlegen/ 

1. middlegen 에 접속하여 Download - Binarles 를 선택합니다


2. 여기서 바로 반갑다고 DownLoad 누르시지 마시고 zip 파일로 된 것을 클릭하세요! 꼭!!!!! 제바알~~~~^-^


3. 다운받아서 압축을 풀으세요! ^^

그럼 다음과 같이 features 폴더와 plugins 폴더가 있을꺼예요
이 폴더안에 들어가면 다음과 같은 녀석들을 eclipse 가 설치된 경로로 찾아서 똑같은 plugin 와 features 에 해당하는 곳에 넣어 주세요. (드래그 앤 드랍~)


4. 이클립스 재시작!!!! [file] - ReStart
5. 마우스 우클릭 - New - Others.. 클릭 하면 Middlegen 이라는 폴더가 생기고 그 안에 Middlegen Build File 이 생겨 있습니다~^^


Middlegen Builf File 을 클릭하고 Next 를 누릅니다 ^^

6. Hibernate 설정할 Application 을 설정 한 후
파일이름을 설정 한 후, Next 를 누릅니다


7. 다음으로 넘어가면 JDBC 설정하는 부분이 나온다. 여기서 JDBC.jar 는 자신의 db 에 맞는 db connect library  를 지정해 줍니다. (전 오라클을 가장 많이 쓰고 친숙하기 때문에 oracle 을 쓰고 있죠~ ojdbc14.jar 를 찾아서 확인을 누릅니다~ ^^)


8. 해당 JDBC 정보를 입력합니다.


9. 보안상 (antop 한테 혼났숨다;;- -;;) JDBC 정보는 숨기겠습니다~ ^^ Load Table 을 누르면 해당 스키마가 가진, 테이블 목록이 좌악~ 불뤼어 진답니다. 그리곤 mapping 시킬 테이블을 선택 한 다음에 finish 를 누릅니다. (전 table 이 한 개 뿐이 없네요..
여러개이신 분은 여러개를 선택합니다 그러면 mapping 관계도가 나온답니다 ^^ )


10. 전 한개 뿐이라서 의존관계가 안나오는데 의존 관계 설정하시는 분들은 Ctrl 키 or Shift 키를 이용하여 각 테이블의 의존관계를 수정 할 수 있습니다. 여기서 자바 파일의 설정을 변경 해 줄 수 있답니다. 물론 hbm.xml 파일에도 동시 적용 되겠지요~ ^^

왕왕왕왕왕~~ 중요!!!!!!!
모든 설정을 다 끝낸후에 꼬옥~~~~~~~~ Generate 를 꼭!!!!!! 눌러주세요
이 Generate 를 안 누르고 x 표시로 꺼버리게 되면 정작 hbm.xml 파일과 java 파일이 생기지 않게 됩니다.-_-;;;;
제네레이터를 누르고도 반응이 없다고 낙심하지 말아요. x표시 눌러서 빠져 나가게 되면 생긴답니다. ^^ 하지만 안누르고 x 표시 누르면.. 절~~~~~~~ 대 안생겨요!!!!!!!!


11. 자, 여기까지 오느라 수고하셨어요~ 이제 java  파일과 무엇이 추가되었고, 무엇이 변경되었는지 알아봅시다.

 
1. Item.java ( vo 역할을 하던 getter / setter 가 있던 녀석)
2. Item.hbm.xml ( Item.java 파일과 hibernate 의 mapping 파일)
3. middlegen-build.xml (hibernate 의 설정이 빌드된 것에 대한 정보)
4. hibernate.cfg.xml (하이버네이트 설정파일)


여기서 우리는 4번의  hibernate.cfg.xml (하이버네이트 설정파일) 을 사뿐히 delete 해주시기 바랍니다.
spring 의 applicaationContext.xml 에서 명시할 것이기 때문에 하이버네이트 설정파일은 두셔도 되지만 오해의 소지와 헷갈릴수 있기때문에 사뿐히 삭제해 주시기 바랍니다 ^^



^^ 수고 하셨습니다.
이제 spring 과 hibernate 를 mapping 할 준비를 한 것이랍니다.
이제껏 준비만 한 거예요~ 이거했다고 해서 할 수 있는건 아무 것도 없답니다 ^^
이제 시작이랍니다~! 움하하하하

Shop.war 를 다운받아서 reverse 하셨다면 아마도 BigDeciaml 로 type 이 될 지 모르는데,
integer 와 BigDecimal 중 뭘써야 할지 모르겠다면...
integer 는 정수의 9 자리 수 이하이면 integer , 10 자리 이상이면 BigDecimal 을 써야 한다고 저희 과장님이 그러시더라구요~
저도 이번에 하면서 처음 알았숨다 -ㅅ- ㅎㅎㅎㅎ

이 reverse 방식은 단순 eclipse IDE 에 있는 middlegen 을 이용해서 해봤다는 것에 대해 의의를 둡니다.
쌩으로 hbm.xml  과 java 파일을 만드셔도 됩니다 (이전에 java  파일은 있으니 hbml.xml  만 설정하면 되겠네요
근데 이게 파일이 한개라서 손으로 날 코딩 하겠는데... 100개가 되는 파일을 매핑시키려면... ^^ 쪼오~ 옴~ 곤난하겠죠?! ^^
그럴때 이용하도록 합시다~!)
수고하셨습니다.
다음엔 Hibernate 와  Spring mapping 을 하겠습니다!