Hibernate 集成指南名词约定凡是代码、配置文件、 IDE 中出现的名词,均采用英文原称。 Roadmap 本文档的目标是,帮助读者在 Eclipse 中将 Hibernate 集成至 Spring 。集成步骤大致如下:引入 jar 文件->在 spring 中注册 data source , session factory , transaction manager-> orm mapping-> 编写实体类,测试 hibernate 。关于 Hibernate Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用 Hibernate, a history 为了寻找一种 EJB2 实体 bean 的替代方案, Gavin King 在 2001 年开始开发 Hibernate 。 2003 年,现为 Red Hat 一部分的 JBoss 雇佣了 Hibernate 的核心开发人员,并开始支持 Hibernate 。 2010 年, Hibernate 版本发布,它此时已具有如下诸如:拦截器/ 回调架构,用户自定义过滤器,基于 java annotation 配置,并且实现了 Java Persistence API (JPA) 。 Features Mapping 使用 xml 或 java annotation ,实现数据库表与 java 类之间的映射关系。 ORM 可以实现 java 数据类到 DB 数据类型的映射,可以映射枚举,可以用一个 java 类 property 映射多个数据表列,可以映射 one to one/one to many/many to many 级联等。 Persistence 使用 POJO 进行对于开发者透明的持久化操作。支持 Java 集合对象, Java 泛型,延迟加载,级联操作等。 Hibernate Query Language (HQL) Hibernate 提供类 SQL 的 Hiberante Query Language ,同时也提供面向对象的 Criteria Query 方式进行数据操作。 Integration Hibernate 可以应用于独立 java 应用,也可以用于企业级的 Java 应用。也可以和其他语言集成。 Entities ponents 实体是 Hibernate 持久化机制中独立于其他对象、被独立操作的对象。与之形成对比的是组件,组件是实体的下属。 E .g. 假设 Track 表中的数据( 歌曲) 只能通过 Album 表( 专辑) 进行操作,那么可以说 Track 是一个组件, Album 是一个实体。 JDBC vs Hibernate JDBC (Java Database Connectivity) ,帮助开发者可以不关注不同数据库的具体细节,使用相应的 Driver 进行数据库连接,并使用 SQL 进行操作。 Hibernate 是一个基于 Java 的 ORM 解决方案,开发者可以使用面向对象的思想和方式进行持久化层的开发。由于对象和表中的数据不匹配,使用 JDBC 开发关系型数据库的面向对象应用是复杂的。使用 JDBC 的开发者需要自己动手写代码来完成表字段到对象属性的对应。而 Hibernate 基于 xml 或 Java annotation 的 OR M 机制替开发者完成了这个工作。 JDBC 只支持 SQL ,开发者需要寻找高效的 SQL 语句, Hibernate 提供的类 SQL 语法的 HQL 语言优化实际执行的 SQL 语言,并且, Hibernate 也支持 SQL 。基于 JDBC 的持久层开发必然会制造大量依赖于的数据结构的代码,一旦数据结构发生变化,需要大量地修改已有代码。基于 Hibernate 的持久层开发在面临这种情况时,只需修改 xml 配置文件或实体类,借助 IDE 的帮助可以快速进行修改。 Hibernate 有自己的缓存机制,开发者也可以扩展自己的规则。而 JDBC 的缓存需要开发者自己实现。集成步骤引入 Hibernate 相关的 jar 文件 Hibernate jars 加入 build path 请参考《 Struts2 集成指南》的相关章节在 Spring IoC 容器中注册数据源、 session factory 、事务管理器 <? xml ver
Hibernate集成指南 来自淘豆网m.daumloan.com转载请标明出处.