代码改变世界

10月12日hibernate培训日记

2006-10-14 15:00  java ee spring  阅读(157)  评论(0编辑  收藏  举报

今天是田老师开始为大家正式讲解hibernate,田老师是我遇到的对hibernate最熟悉的牛人了,我个人感觉:从孙卫琴和夏昕的那两本书来看,田老师对hibernate比他们俩更熟悉。下面是他讲课的基本内容:
1.软件分层架构,ejb中的SessionBean与EntityBean在分层架构中的作用,ejb的缺陷。hibernate解决哪一层的问题,hibernate与EntityBean的优缺点比较。顺便分析了spring与struts解决哪一层的问题。
2.orm映射思想,hibernate配置文件和映射文件。
3.一个入门的hibernate例子的eclipse开发过程,课堂上没用eclipse的hibernate支持,而是把hibernate当作一个普通的第三方jar包开发,因为hibernate 3.1与hibernate 3.0有些不同(例如,getCurrentSession,getTransaction等),myelcipse支持的是hibernate 3.0。
4.Cofiguration,SessionFactory,Session等对象的讲解,hibernate配置和实体映射文件的讲解。SessionFactory的初始化过程。
5.hibernate的运行原理,持久对象、临时对象,游离对象。
6.临时对象与游离对象的区别,就是看id是否等于unsaved-value。主要影响saveOrUpdate方法的行为,如果手工强行安排id,但数据库中并没有对应记录时,hibernate抛出异常的原理。
7.save方法运行时何时生成insert语句,与id的产生方式有关。
8.update方法的运行原理,动态生成插入字段的细节。
我听课的过程并不完整,只是了解了大概的内容,更多细节,请参看其他学员的blog。