휴.. 가장 복잡한 ORM이다. ORM은 Hibernate, JDO, JPA, iBatis 등의 ORM 솔루션들을 모아 놓은 것이다. 이런 ORM 솔루션을 한꺼번에 사용할 일은 없을테고, 대부분 이 중 한가지를 Jdbc와 함께 적용하게 될 것이다. 따라서 ORM모듈의 옵셔널 라이브러리는 다시 각 ORM솔루션별로 세분화해서 고려하는 것이 바람직하다.

필수 모듈을 먼저 살펴보자.

Core, Beans, Jdbc, Transaction의 모듈이 필수로 적용된다.

라이브러리 중에는 openjpa.persistence와 openjpa.persistence.jdbc가 포함되어있다. 이 두가지 라이브러리의 필수 설정은 분명 오류다. 두개의 모듈의 클래스가 사용되는 곳은 Jpa 지원클래스 뿐이다. 이 것이 모든 ORM에 필수 라이브러리로 포함될 이유가 없다. 설정의 오류이므로 이것은 optional로 간주하고 처리해야 한다. 불필요한 라이브러리 추가를 막기 위해서 Maven에서라면 Orm모듈을 가져올 때 exclude해줘야 한다.

 

Orm Module Optional Libraries

 

Aop module, Context module, Web module, aopalliance

세계의 optional 모듈은 애플리케이션의 필수 모듈이므로 신경 쓰지 않는다. (이제는 귀찮아서 상세하게 사용된 부분을 체크하지 않고 넘어간다…)

Aopalliance는 Aop에서 필요하니까 당연히 포함.

 

Instrument.classloading

이미 살펴본 바와 같이 JPA의 경우에만 필요하다. JPA용 optional로 설정.

 

eclipse.persistence.jpa

오라클이 이클립스에 기증한 Jpa구현체인 EclipseLink를 위해서 사용된다. 필요할 때 추가. 스프링에서는 다양한 벤더(커뮤니티)의 Jpa솔루션에 대한 아답터와 Dialect를 제공한다.

 

hibernate, hibernate.annotation, hibernate.ejb

하이버네이트 적용시 필요. annotation은 애노테이션 방식의 매핑을 사용할 때 javax.persistence와 함께 필요하다.

이 중 hibernate.ejb는 하이버네이트가 아니고 Jpa구현으로 사용할 경우 필요하다. 구분해서 적용할 것.

하이버네이트를 적용할 경우 하이버네이트의 transitive dependency를 함께 고려해야 한다. 많은 라이브러리들이 스프링과 공유되지만, 하이버네이트 전용 라이브러리도 제법 되고, 하이버네이트의 optional 라이브러리나 세부 모듈도 있다.

최근 하이버네이트가 Maven을 도입하고 모듈화 하기 시작했는데 아직 스프링에 연동되는 버전은 그 이전 버전인듯 하다.

 

ibatis

내가 가장 관심없는(그러나 남들은 관심이많은) ibatis이다. 이-바티스(옛날 동국이 발음으로)를 사용할 경우 포함. 역시 ibatis 자체의 필요 라이브러리는 별도로 추가해야 한다.

 

javax.jdo

JPA의 등장으로 맛이 가버린 JDO를 위한 기능이다. JPA가 멋지게 떠오르지 않았다면 최신 JDO가 아마 JPA와 유사한 구조를 가지고 있지 않았을까 생각되기도 한다. 재밌는 사실은 JBoss가 하이버네이트의 개빈 킹을 처음 영입할 때 발표한 내용에보면 "하이버네이트를 JBoss의 JDO 솔루션으로 사용하기 위해서"라는 것이 있다. 개빈킹이 EJB 엔티티빈의 삽질과 빌빌대던 JDO의 엉거주춤에 힘입어 화려하게 떠오르던 하이버네이트를 등에 업고 EJB3/JPA의 전문가 그룹을 장악해버리면서 역사가 바뀌어버렸다.

 

javax.persistence

Jpa에도 당연히 필요하지만 애노테이션 방식의 매핑을 사용하는 하이버네이트에도 필요하다.

 

javax.servlet

세션이 종료된 후에도 뷰에서 액티브하게 접근할 수 있는 모델을 제공하기 위해서 사용하는 OpenSessionInViewFilter와 Jpa,Jdo의 유사 기능에 필요하다. 이미 이것을 사용하려면 웹 모듈을 포함했을 테니 구지 Orm모듈에 명시적으로 추가하지 않아도 된다. 그냥 optional.

 

toplink.essentials

Toplink Essential 시절의 라이브러리를 사용할 때 필요.

 

결국 ORM에서 사용하는 ORM툴과는 상관없이 적용할 옵셔널 라이브러리는 없는 것이다.

벤더별 Jpa, Hibernate, Jdo, iBatis로 구분해서 필요한 모듈을 넣도록 하면 된다.

Related posts:

  1. Spring 3.0 (21) Web 모듈의 선택 라이브러리 분석
  2. Spring 3.0 (20) Transaction 모듈의 선택 라이브러리
  3. Spring 3.0 (14) Context Support 모듈의 선택 라이브러리 분석
  4. Spring 3.0 (13) Context 모듈의 선택 라이브러리 분석
  5. Spring 3.0 (16) Jms 모듈의 선택 라이브러리 분석
  6. Spring 3.0 (22) Web.Servlet 모듈의 선택 라이브러리 분석
  7. Spring 3.0 (18) Oxm 모듈의 선택 라이브러리 분석
  8. Spring 3.0 (23) Web.Portlet 모듈 선택라이브러리 분석
  9. Spring 3.0 (11) Aspects 모듈의 선택 라이브러리 분석
  10. Spring 3.0 (8) Core 모듈의 선택 라이브러리 분석
  11. Spring 3.0 (15) Jdbc 모듈의 선택 라이브러리 분석
  12. Spring 3.0 (9) Beans 모듈의 선택 라이브러리 분석
  13. Spring 3.0 (42) Spring Dependency Matrix 업데이트
  14. Spring 3.0 (10) AOP 모듈의 선택 라이브러리 분석
  15. Spring 3.0 (7) Spring 3.0 Dependency Matrix

Facebook comments:

to “Spring 3.0 (17) Orm 모듈의 선택 라이브러리 분석”

  1. Fine, I appreciate the author’s opinion, I will continue to focus on.

  2. Woah! I’m really digging the template/theme of this website. It’s simple, yet effective. A lot of times it’s challenging to get that “perfect balance” between user friendliness and visual appeal. I must say you have done a great job with this. In addition, the blog loads extremely fast for me on Chrome. Excellent Blog!

  3. Hello Web Admin, I noticed that your On-Page SEO is is missing a few factors, for one you do not use all three H tags in your post, also I notice that you are not using bold or italics properly in your SEO optimization. On-Page SEO means more now than ever since the new Google update: Panda. No longer are backlinks and simply pinging or sending out a RSS feed the key to getting Google PageRank or Alexa Rankings, You now NEED On-Page SEO. So what is good On-Page SEO?First your keyword must appear in the title.Then it must appear in the URL.You have to optimize your keyword and make sure that it has a nice keyword density of 3-5% in your article with relevant LSI (Latent Semantic Indexing). Then you should spread all H1,H2,H3 tags in your article.Your Keyword should appear in your first paragraph and in the last sentence of the page. You should have relevant usage of Bold and italics of your keyword.There should be one internal link to a page on your blog and you should have one image with an alt tag that has your keyword….wait there’s even more Now what if i told you there was a simple WordPress plugin that does all the On-Page SEO, and automatically for you? That’s right AUTOMATICALLY, just watch this 4minute video for more information at. Seo Plugin

  4. mbt shoes on sale Spring 3.0 (17) Orm 모듈의 선택 라이브러리 분석 » Toby’s Epril

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha