본문 바로가기

Java

[Java] Spring-Data-JPA 프로젝트 템플릿

몇개월전에 현기형님의 주도하게 팀 프로젝트를 간단하게 진행한적이 있습니다.

그때 형님께서 Spring-data-Jpa + QueryDSL로 프로젝트 셋팅을 하셨고 그에 맞춰서 간단하게 진행을 했었습니다.

그전까지 ORM을 책으로만 봐왔던 저에게는 처음 경험하는 ORM이 신기할뿐이었는데요... 그 아쉬움으로

따로 JPA 설정을 하면서 포스팅을 하기도 했었습니다.

(http://devyongsik.tistory.com/640)


그리고 한참 잊고 지내다가 이번에 CMD를 하면서 제가 다시 한번 프로젝트 셋팅을 할 기회가 생겼는데

프로젝트 리딩하시는 빌리님과 협의하여 Spring-data-jpa로 한번 다시 해보기로 하였습니다.


많은 부분을 현기형님께서 만드셨던 build.gradle을 참조하여 작업을 하였고..

실제 프로젝트를 진행하면서 "와.. 이거 너무 편하다.. 신세계다" 라는 생각을 하게되면서

좀 더 이 JPA을 더 경험해보고 싶어졌습니다.


아무튼 spring-data-jpa의 매력에 푹 빠졌습니다.


그래서 앞으로 자주 써보고 싶은데.. 아무리 maven이나 gradle이 있어도 파일럿을 만들려고 할 때마다 

뭔가 셋팅하고 하는게 귀찮습니다. 그냥 rails server 이런것처럼 되었으면 좋겠어요...


하지만 자바에서 그럴 수는 없죠. 그래도 최대한 귀차니즘을 존중하여 

spring-data-jpa, spring-data-jpa + queryDSL로 각각 프로젝트 템플릿을 만들어

github에 올려보았습니다. 마찬가지로 현기형님의 build.gradle을 참조하여.. 조금 제 생각대로 수정을 하면서 스크립트를 작성하였습니다.



간단한 웹어플리케이션설정과 테스트케이스등이 포함되어 있습니다.

위의것은 spring-data-jpa + hibernate이고..

아래것은 거기에 queryDSL이 추가되었습니다.


clone 받으신 후 이클립스의 경우 "gradle eclipse"를 실행하시면 됩니다.

dsl 프로젝트의 경우 Entity를 만드신 후 Q~ 자바 소스 생성을 위해 다시한번 gradle eclipse를 실행하시면 됩니다.

이 부분은 다른 task로 빼던가 해야겠어요..


intelliJ의 경우는 자동으로 인식됩니다.


공부를 하려는 것이 목적이다보니 설정이나 API를 사용하는 방법이 best practice는 아닙니다.

그럼에도 불구하고 잘못된 부분에 대한 조언을 듣고 싶기도해서 이렇게 포스팅해봅니다.


감사합니다.