Hibernate深入浅出 夏昕 曹晓钢 唐勇 电子工业出版社
一本非常不错的Hibernate介绍,比较全面,作者也很认真。虽然是国内在Hibernate领域比较领先的行家,但并非大家,所以先推免费版的做法非常聪明,加之其后认真的工作,相信让大家记住了作者的名字,有不同于普通技术写手的认同感。
本书从JAVA数据访问层开始,让读者对数据访问层所要解决的问题有了一个认识,对ORM有了概念。然后就是全面的Hibernate使用介绍,文字风格与深度非常适合普通开发人员与应用设计师。附录和实战的补充也是恰到好处。
提些不足的地方:
1. 部分章节组织稍有凌乱,例如第四章Hibernate基础和第五章Hibernate高级特性里,对于数据缓存/事务管理/分页查询/属性加载之类的在两章都有出现.全文的章节划分不太合理。
2. 与PDF一样,示例是从Middlegen和Hibernate Extension开始的,可这两个东西相当不好用,对于许多无法按部就班的读者来说,后面的范例就很难进行。
3. 性能方面的考虑,缺少hibernate内部实现而屏蔽掉的一些性能差别,例如HQL和Criteria的实现与转换,分页的实现原理等,使一些高级用户对性能的把握有些不准确。
4. 对表关系的描述不够清晰。
5. 可以增加一些Hibernate插件的使用介绍。
读书笔记(注意点):
l SessionFactory除维护当前数据库的配置映射关系外,还维护二级数据缓存和
l
l Statement Pool,且线程安全,因此一个数据库共享一个SessionFactory实例.
l 注意不要将POJO设为FINAL,导致hibernate代理机制无法运行,而代理机制是
l
l 提高性能的重要方法之一.
l 业务逻辑与数据逻辑分开,所以ID不要与业务逻辑相关.
l session非线程安全,所以需要ThreadLocal来实现,代码如下
l id生成方式
l 动态模型方式,class的属性name被entity-name代替.
l 实体映射中非常有用的冗余模式,通过discriminator实现.
l 数据的四种加载方式. 属性延迟加载功能,和2.0中属性延迟加载的实现.
l 缓存方式.
2005-9-20