HIBERNATE必备JAR包及配置
hibernate3.jar :核心包,不说什么了
antlr-2.7.6? :一个语言转换工具,Hibernate利用它实现 HQL 到 SQL 的转换
commons-collections-3.1 : collections Apache 的工具集,用来增强Java对集合的处理能力
dom4j-1.6.1 : dom4j XML 解析器
javassist-3.4.GA : 代码生成工具, Hibernate用它在运行时扩展 Java类和实现,同cglib
jta-1.1 : 标准的 JAVA 事务处理接口
slf4j-api-1.5.2 : hibernate使用的一个日志系统
注:大家如果这时候整合spring跟hibernate,会报以下错误,这是由于缺少slf4j-log4j12.jar包,自己添上也行,不过后面还要写的hibernate-annotations-3.4.0.GA里就有。
个人觉得是因为整合后spring管理了日志(当然你也可以不用他的),在web.xml一个Log4j监听就是spring包下的,看缺少包名就知道是slf4j-log4j12之间的转换,或说一种支持,大家知道就好了
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Initial SessionFactory creation failed.java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
以上是必须的包
optional文件夹下的是第三方 数据库连接池 跟 缓存
常用的是 c3p0 连接池 跟 ehcache 二级缓存
bytecode文件下的是第三方字节码支持
大家会看到有我们前面写的javassist,也有我们熟悉的cglib。他俩的作用都是一样的,但新版本hibernate默认使用了javassist,所以在必要包里有一份。cglib Spring也在使用,是一个为没实现接口的类实现代理的工具,知道他的作用就知道javassist的作用了,其实就是一个java类生成工具
大家可以通过在hibernate.cfg.xml中配置使用cglib(这个是我在hibernate官方论坛看到的,不一定对,但确实有这个属性)
<property name="hibernate.bytecode.provider" >cglib</property>
-------------------------------------------------分割线------------------------------------------------------
---------hibernate-annotations-3.4.0.GA-------------
hibernate的annotations注解功能,现在也有不少人在用了,所以也说一下吧,其实没多几个包,前面有的就不说了。但注意这个要依赖核心包,根目录有个总包
这里提一下 asm 开头的包,这几天论坛也有人发帖子问起,当然希望那个好友也能看到这里嘿嘿。asm是一个字节码文件加强工具,起码网上翻译过来都是这么解释的,其实也不难理解,因为大家知道java类最初是没有注解的,最新的版本才加上的,所以就加强了吗,所以就有第三方会再去加强一下功能哈哈,荒谬的理解,大家别喷我。知道是个干嘛的东西就行了
注:这里提asm主要还因为经常有人用IDE工具同时添加Spring跟hibernate支持的时候,会出现asm包的冲突,删去一份,或直接全删了,自己去下来总包放上就好了
就说到这吧,其实大家去看看文件夹下的readme都写的很清楚,不懂英语不是有字典啊,咱们这么聪明的人才搞程序,一点英语算什么哈哈。
?
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/eclipser1987/archive/2010/01/15/5193556.aspx