本部分描述了Hibernate的简介、驱动包和方言包以及开发流程。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的ORM框架,Hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以熟练地使用对象编程思维来操纵数据库。
KingbaseES 提供了 Hibernate 的方言类 Kingbase8Dialect,目前KingbaseES 共提供了以下几个方言包来支持Hibernate:
方言包 | 适用范围 |
---|---|
hibernate-2.0.dialect.jar | 2.0<=适用范围<2.1 |
hibernate-2.1.dialect.jar | 2.1<=适用范围<3.0 |
hibernate-3.0.dialect.jar | 3.0<=适用范围<3.0.3 |
hibernate-3.0.3.dialect.jar | 3.0.3<=适用范围<3.6.0 |
hibernate-4.dialect.jar | 3.6.0<=适用范围 |
Kingbase8Dialect位于 $KINGBASE_HOME/Interface/hibernate/ 目录中。 使用时将hibernatexxxdialect.jar导入到项目的Libraries中并定义相关配置项即可。
hibernate首先通过配置文件cfg.xml初始化数据库,创建SessionFactory,进而得到session也就是一个数据库连接。 cfg文件中包括数据库驱动、URL、数据库名称以及密码等等参数,最重要的是将表或者视图的hbm文件写入cfg文件,否则是无法使用Hibernate服务的。 当用户操作数据库表或视图的时候,hibernate加载此表的hibernate mapping文件,也就是hbm.xml文件。hbm文件主要是映射数据库表与持久化类POJO。 通过hbm文件可以将实体对象与数据库表或者视图对应,从而间接的操作数据库表或者视图。