从3.3版本开始, Hibernate开始以Maven为基础进行项目构建,相应的,它将工程查封成了一些独立的Module,从而方便用户构建最小化的jar包依赖。下面是Hibernate3.5.2的pom文件中描述的所有核心模块:
<module>parent</module> <module>core</module> <module>testing</module> <module>testsuite</module> <module>cache-ehcache</module> <module>cache-jbosscache</module> <module>cache-oscache</module> <module>cache-swarmcache</module> <module>connection-c3p0</module> <module>connection-proxool</module> <module>annotations</module> <module>envers</module> <module>jmx</module> <module>jdbc3-testing</module> <module>cache-infinispan</module>
特别提到的是:
parent:模块是所有核心模块的父模块,它定义了一些公共信息和依赖。
core:是hibernate主要模块,对于一般的,不使用二级缓存,基于xml配制的工程,引入这个包就可以了。
annotations:主要包括一些映射注解,如果项目使用注解配制,需要使用这个模块。annotations和envers是在3.5才引入到核心模块组中的,再此之后它们都是以独立jar包发布的。
所有cache开头的模块是二级缓存。