理解ORM 熟悉Hibernate 的作用
使用JAVA技术进行B/S项目开发经过多年的研究发展,目前主要有两种主要的方式: 一种是重量级的EJB(Enterprise Java Bean),另一种是轻量级的Struts(2)+Hibernate+Spring. 由于EJB编程复杂性很高,一般的中小型应用系统大多会采用轻量级的J2EE开发.<br><br> 本文所介绍的Webwork+Hibernate+Spring的技术,就是属于轻量级J2EE开发.Struts2本质上是Webwork(具体内容可参见 http://struts.apache.org/),但由于Struts2目前文档方面欠缺,因此大多数人学习Struts2均从Webwork入手。
Hibernate理解持久化、ORM理解持久化瞬时状态:在程序运行的时候,有些程序数据保存在内存中,当程序退出后,这些数据就不复存在了,所以,我们称这些数据的状态为瞬时的。持久状态:在使用一些软件的时候,有些数据在程序退出后,还以文件等形式保存在硬盘中,那么我们称这些数据的状态是持久的。持久化:就是讲程序中的数据在瞬时状态和持久状态之间转换的机制。ORM概述对象-关系映射:能在对象和关系型数据库两者间进行数据转换的机制。
我天生效率比较低,在普遍情况下,需要将执行转换为SQL语句的Hibernate低于直接JDBC存取。但是在经过比较好的性能优化之后,我的性能还是让人相当满意的,特别是应用二级缓存之后,甚至可以获得比较不使用缓存的JDBC更好的性能。
课程内容:Hibernate原理模拟 - 什么是O/R Mapping以及为什么要有O/R Mapping。常见的0/R框架(了解)。hibernate基础配置(重点)。ID生成策略(重点 AUTO)。Hibernate核心开发接口介绍(重点)。对象的三种状态(了解)。关系映射(重点)。Hibernate査询(HQL)。在Struts基础上继续完善BBS200。性能优化(重点),补充话题。
一、 基础知识 ① Hibernate 是对象 / 关系映射 (Object/Relation Mapping) 的解决方案。 ② Hibernate 架构 ● POJO 类 ● hibernate.cfg.xml ● *.hbm.xml ● Hibernate 应用 二、 几个重要的类 ● Configuration 类 (负责管理 Hibernate 的配置信息) 当创建 Sess
因为JAVA是面向对象的,JDBC没有做到使数据能够面向对象的编程,使程序员的思考仍停留在SQL语句上。
Hibernate Synchronizer Hibernate插件,自动映射等
使用hibernate Annotation来映射实体。
Hibernate Search的作用是对数据库中的数据进行检索的。它是hibernate对著名的全文检索系统Lucene的一个集成方案,作用在于对数据表中某些内容庞大的字段(如声明为text的字段)建立全文索引,这样通过hibernate search就可以对这些字段进行全文检索后获得相应的POJO,从而加快了对内容庞大字段进行模糊搜索的速度(sql语句中like匹配)。
第一个Hibernate应用教学目标创建Hibernate的配置文件创建持久化类创建数据库Schema创建对象-关系映射文件映射文件的文档类型定义(DTD)把Customer持久化类映射到CUSTOMERS表通过HibernateAPI操纵数据库用ANT工具管理项目参考教材:《精通Hibernate:Java对象持久化技术详解》在Java应用中使用Hibernate的步骤创建Hibernate的配置文件创建持久化类创建对象-关系映射文件通过Hibernate API编写访问数据库的代码
Hibernate检索对象的方式。教学内容HQL检索方式QBC检索方式本地SQL检索方式参考教材:《精通Hibernate:Java对象持久化技术详解》Hibernate提供的检索对象的方式导航对象图检索方式根据已经加载的对象,导航到其他对象。
概述JPA(Java Persistence API)作为JavaEE5.0平台标准的ORM规范,将得到所有JavaEE服务器的支持。Sun引入新的JPAORM规范出于两个原因:其一,简化现有JavaEE和JavaSE应用的对象持久化的开发工作;其二,Sun希望整合对ORM技术,实现天下归一。总的来说,JPA包括以下3方面的技术:ORM映射元数据,JPA支持XML和JDK5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;JPA的API,用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。查询语言,这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。使用JPA时,可以使用注释配置实体的JPA行为。
用了写hibernate高级查询时用了Restrictions(当然Expression也是可以以的)这个类.感觉不错.下面的代码写的不易读.
Hibernate 概述
Hibernate 教程
Hibernate Tools是由JBoss推出的一个Eclipse综合开发工具插件,该插件可以简化ORM框架Hibernate,以及JBoss Seam,EJB3等的开发工作。Hibernate Tools可以以Ant Task以及Eclipse插件的形式运行。
Hibernate对其持久化对象实现了缓存管理,来提高系统性能,Hibernate支持两级缓存管理,一级缓存是由Session提供的,因此它只存在于Session的生命周期中,是Session所内置的,不能被卸载。
Hibernate Tools Suite项目提供了一组易于使用的Hibernate开发工具。这组工具既可以作为独立的应用程序使用,也可以以插件的形式集成到NetBeans中使用。它提供的功能包括:Session factory管理,查询编辑实现语法着色功能,Java到HQL(或相反)格式化。把HQL转换成SQL等。
Hibernate核心内容是ORM(关系对象模型)。可以将对象自动的生成数据库中的信息,使得开发更加的面向对象。这样作为程序员就可以使用面向对象的思想来操作数据库,而不用关心繁琐的JDBC。所以,Hibernate处于三层架构中的D层(持久层)。<br> 1、Hibernate可以使用在java的任何项目中,不一定非要使用在java web项目中。因为Hibernate不需要类似于tomact这些容器的支持,可以直接通过一个main方法进行测试。<br> 2、通过下面的实例,可以发现使用Hibernate可以大大减少代码量。<br> 3、由于使用了Hibernate,代码中不涉及具体的JDBC语句,所以就方便了代码的可移植性。