《妙解Hibernate 3.X》读书笔记一-Hibernate概述及环境搭建

      很早就想开始Hibernate的系统学习,但是一是工作原因,二是苦于找不到合适的书籍。Hibernate更新较快,一些被称为经典的书籍,如<深入浅出Hibernate>、《Hibernate实战》等都过于年老,介绍的为Hibernate2.1,而现在Hibernate4.o core都已经出来了,读起来怎么有点别扭。现在找到《妙解Hibernate 3.x:叩响面向对象思想之门》的书,是2010年的,较新,名字较为花哨,权且当做系统入门教程。

      Hibernate,持久层实现的框架,数据持久化-将内存中的数据保存到磁盘上加以固化,实现过程则大多通过各种关系数据库完成,也有基于磁盘文件、xml数据库、消息队列的持久化技术。它的母的就是解耦合-实现应用和数据库的低耦合,另外通过封装技术实现细节,减少数据库存取代码。还有如提升应用性能,增加应用的移植性,有面向对象的思想等优点。其他类似的持久层框架有:Apache OJB, iBatis, TopLink等。

      Hibernate是一种Java语言下的对象关系映射解决方案。 它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate也是目前Java开发中最为流行的数据库持久层框架,现已归JBOSS所有。

Hibernate使用映射文件将对象与关系数据相关联,映射文件以".hbm.xml"以为后缀,用于处理类-数据库表、属性-数据库字段等之间的对应关系;hibernate.cfg.xml为全局性的系统配置文件,用于配置数据库连接和Hibernate运行时所需要的各种属性,支持xml格式和properties格式,当然了xml格式更加易读强大了。配置文件和映射文件较为重要了,是hibernate使用的主体,生成较为重要,方法有:手工编写;依据数据库定义导出表结构,并生成对应的映射文件和java代码,可以保证映射文件、java代码与实际数据库结构一致;根据现有的java代码生成对应的映射文件,从而将java代码与数据库表相绑定。

      Hibernate下载地址为http://www.hibernate.org/downloads,本人下载的是3.6.2。只需要将包导入应用的library中就可以了。当然了手动的写配置文件、映射文件、测试SQL语句等较为繁琐困难,有必要借助工具-Hibernate Tools,它是JBoss Tools的一部分,为eclipse插件。在线安装的地址为http://download.jboss.org/jbosstools/updates/JBossTools-3.1.1.GA/,3.1是对应eclipse 3.5的,安装时只选中Hibernate Tools相关的部分就可以了。

      Hibernate Tools Eclipse插件的功能为:
Mapping Editor(映射文件编辑器):该编辑器可以用来编辑Hibernate XML映射文件,提供代码自动补全,语法高亮功能。 类名的自动补全,属性/表的列名自动补全。

Hibernate Console(Hibernate控制台):它提供一个全新的Eclipse Perspective窗口,可以执行HQL,并查看查询的结果。这是一个非常便利的工具,可以用来验证HQL的语法是否正确。
Configuration Wizards and Code generation(Hibernate配置文件hibernate.cfg.xml创建导航,以及代码生成器):支持完全反向生成功能,可以从已有的数据库生成Hibernate配置文件hibernate.cfg.xml,同时支持"click-and- generate"方式生成Java代码(Hibernate POJOs),DAO,XML映射文件(.hbm.xml),以及schema 文档(.hml)等文件。
Eclipse JDT integration(代码补全):该工具支持Java代码中的HQL输入补全,以及对Java代码中的HQL语法加以合法性验证。

      Hibernate Tools的使用就不在此多述,较为简单,首先是生成hibernate.cfg.xml文件,在生成过程中需要配置数据库的连接;然后通过Hibernate Code generation可以根据指定的数据库生成映射文件及对应的实体类。可以参考http://www.oschina.net/p/hibernate+toolshttp://wenku.baidu.com/view/94b78a4bcf84b9d528ea7aaa.html

 

posted @ 2011-04-07 22:22  春文秋武  阅读(148)  评论(0编辑  收藏  举报