Java企业软件教程系列

Hibernate专题

  Hibernate符合Java习惯的关系数据库持久化。基于JDBC抽象,适合大多数系统,无需关心具体实现。

  Hibernate一词翻译成中文是“休眠”,那么是什么休眠呢?无疑是对象Object休眠到数据库,这里主语是对象,数据库只是休眠睡觉的地方。有人总以为有了关系数据库知识,就能用好Hibernate,这是认识上的误区;很多人总是先有数据表结构,然后使用Hibernate倒推类代码,这是使用上的误区。

  hibernate使用应该是先建立对象,才有对象的永久保存,Hibernate解决了对象保存到数据表中的细节琐碎转换问题。只有真正掌握了OO面向对象知识,才能用好Hibernate,正如Hibernate中文“冬眠”,我们将对象保存到数据库的这个行为比喻成对象的冬眠。Struts + Spring + Hibernate 号称SSH框架是JavaEE经典开发组合。

  (1) HIBernate启动:Session Factory 和配置Configuration等类是启动 Hibernate 的主要功能类。

  SessionFactory sessionFactory = new Configuration().configure()

  SessionFactory实例比较重或大,第一次创建后保存在容器的Application或Singleton, 如struts的HibernatePlugIn。

  (2)配置对象映射方法:

   将对象映射放入主配置Hibernate-cfg.xml 优点是集中化,但是大型项目无伸缩性。

  配置对象映射在分离的XML文件中,每个对象一个配置文,然后在Hibernate-cfg.xml增加这些配置指向;或在Configuration 通过编程注册。在SessionFactory 创建时,通过程序注册。

  (3)通过元注释。通过@Entity等直接在代码中注释。

  虽然Hibernate自动解决了对象的存储问题,但是开发者需要熟悉对象和数据库两个方面的技术,这对于开发者素质要求比较高,著名对象大师甚至认为ORM等如同计算机领域的一场越南战争,疲惫而没有结束的希望。可见对象和数据库的阻抗

教程源码

Hibernate使用简介

Java持久锁总结

Hibernate源码案例下载 SF下载点

使用struts2-hibernate-mysql开发案例

JPA/Hibernate:基于版本的乐观锁并发控制

Spring JPA Data + Hibernate + MySQL + Maven教程源码

Spring MVC + Hibernate + Maven: CRUD增删改查教程源码

Spring Hibernate 4 教程与源码

GWT Spring + Hibernate +Infinispan数据网格整合教程源码

MinuteProject快速生成Hibernate源码

JDBC基础教程

11个JPA和Hibernate查询配置小技巧

14个Java持久化高性能技巧

在JPA和Hibernate中使用Java 8 Optional

 

社区文章

相关参考

更多Hibernate专题...

ORM专题

持久层框架

对象数据库阻抗专题

OO面向对象

EJB专题

Spring专题

Struts专题