首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate的学习记要

2012-10-26 
Hibernate的学习记录?????? 因为在最近从事的上机考试软件的开发过程中,要用到数据库,所以想到要学习一下

Hibernate的学习记录

?????? 因为在最近从事的上机考试软件的开发过程中,要用到数据库,所以想到要学习一下鼎鼎大名的Hibernate框架,来简化对数据库操作。由于是边学习边应用,遇到的问题也多了点,所以在这里记录一下,以便以后回顾和分享。

????????????? 1. 需要build path的包

???????????????????? 最清楚的当然是hibernate3.jar包,有点经验的人都知道要加进来。 然后是针对具体数据库的驱动包。根据感觉,又把hibernate文件夹下lib文件夹里require文件夹下所有的包加了进去。但即使这样,运行最简单的实例还是会抛错,提示少类。根据异常提示又把commons-logging-1.1.1.jar包和slf4j-nop-1.5.3.jar包加进去了(这两个都是开源项目里的包,在opensource.org上都可以下到,具体版本可能有差别),这样就不会报错了。

????????????? 2. 安装HibernateTools

??????????????????? 目前最新的版本好像和eclipse3.4不兼容,反正只要用到插件的窗口都会跳个报错的框出来,但基本功能好像不影响,我也没琢磨其它功能。网上有解决办法,都是拿老版本的eclipse的包来替换。??

????????????? 3.?HibernateTools自动生成的DAO

???????????????????? HibernateTools自动生成的DAO是以Home结尾的,对比各种教材看起来有点别扭~还有,就是那代码没法直接运行,会出现好多错误~首先遇到的是关于没有Session的,根据网上的方法:把.getCurrentSession()改为.openSession(),果然有效。然后我遇到的是:可以读数据,但没法把数据记录到数据库里。仔细看它生成的Dao,原来没有添加事务处理,手动加进去后可以记录了。太麻烦了,所以后来我索性把它生成的DAO都删了,自己些DAO。

????????????? 4. 手动修改配置文件

????????????????????? 我使用Hibernate的流程是,先用插件自动生成hibernate.cfg.xml配置文件(并且创建配置窗口),让后创建hibernate反向工程文件,用反向工程文件来生成pojo和映射文件。但这样一来配置文件里没有自动把映射文件加进去(即使在配置界面的map选项卡里把映射文件加进去了也没用,可能是我没仔细研究~),还得手动添加。

?????????????? 5. 遭遇no session异常

????????????????????? 这个是最琢磨人的!我好端端的程序,第一次执行完全正常,该输出的都输出,改记录的也记录了,在添加了些和这个功能没关系的代码后,再执行同样的操作竟然报异常了:no session!后来不管了,在映射文件里把lazy属性改成了false,这下太平了。

1 楼 yushan 2008-10-20   我最近 也在用Hibernate 做开发,可以利用MyEclipse6.0 在开发,利用它来生成hibernate的配置文件和映射文件很方便的,还有就是其生成的HibernateSessionFactory.java,这个类对session的管理很好(个人感觉),如果你做的是web程序 可以考虑用过滤器来控制session的开/关

热点排行