教学内容立即检索策略延迟检索策略迫切左外连接检索策略每种检索策略的适用范围在程序中显式指定迫切左外连接检索策略CUSTOMERS表和ORDERS表中的记录运行Query的list()方法ListcustomerLists=session.createQuery("fromCustomerasc").list();假定采用立即检索策略,运行以上Query的list()方法时,Hibernate将先查询CUSTOMERS表中所有的记录。
1.@Entity实体2.@Id表示主键3.@Table(name=”tbl_sky”uniqueConstraints={@UniqueConstraint(columnNames={“month”,”day”})})类一级注解4.@Versionversion属性将映射到OPTLOCK列,EntityManager使用该字段来检测更新冲突,防止新的丢失。字段可以是numeric类型也可以是timestamp类型,hibernate支持任何类型,只要是该类型实现了UserVersionType5.所有非static非transient的属性都可以被持久化,除非将其注解为@Transient,所有没有定义注解的属性都等价于在其上添加了@Basic注解6.@Basic(fetch=FetchType.LAZY)这个是用来注解普通属性的,fetch指的获取策略,FetchType.LAZY是延迟获取。
课程介绍讲课内容Hibernate,JPA,JTA,POJO概念了解Log4j配置动手练会Junit配置动手练会主键生成策略重要组件映射不重要复合主键不重要核心开发接口重要对象关系映射重要继承映射不重要,知道有那几种就可以。 集合映射不重要,知道有哪几种CRUD重要,动手练会inverse级联操作延迟加载抓取策略树状结构(作业)重要HQL重要QBC、QBE不重要事务隔离级别、悲观锁,乐观锁理解一级缓存、二级缓存,查询缓存理解
第二章Hibernate API目标:HibernateAPI简介0Hinernate的体系结构(运行时)SessionFactory:它保存了对当前数据库配置的所有映射关系,它是将某个数据库的映射关系经过编译之后全部保存在内存中的。它还是生成Session的工厂,它在进行实例化的过程中将会用到ConnectionProvider。一个SessionFactory对应一个数据库连接,当数据库连接改变时需要修改SessionFactorySession:是进行持久化操作的基础,所有的持久化操作都是在Session的基础上进行的。它相当与JDBC中的Connection。
本章介绍了Hibernate的几种主要检索方式:HQL检索方式、QBC检索方式、SQL检索方式。HQL是Hibernate Query Language的缩写,是官方推荐的查询语言。QBC是Query By Criteria的缩写,是Hibernate提供的一个查询接口。Hibernate是一个轻量级的框架,它允许使用原始SQL语句查询数据库。HQL是Hiberante官方推荐的Hibernate检索方式,它使用类似SQL的查询语言,以面向对象的方式从数据库中查询。可以使用HQL查询具有继承、多态和关联关系的数据。在检索数据时应优先考虑使用HQL方式。
Criteria Query通过面向对象化的设计,将数据查询条件封装为一个对象。简单来讲,Criteria Query可以看作是传统SQL的对象化表示。
用了写hibernate高级查询时用了Restrictions(当然Expression也是可以以的)这个类.感觉不错.下面的代码写的不易读.
使用hibernate Annotation来映射实体
当我们用HQL进行子查询的时候,如select * from Tree where pid in (select id from Tree,此时HIBERANTE就会报错,说什么*号错误之类的。但如果将*改为Tree类里的所有子段时就不会有问题了。就会像平时一样第一行数据返回一个Object[],然后你再根据Tree类里字段对Object[]数组里的值进行转换。这样一来比较麻烦。今天发现如果我SQL来查有一个方法可以返回一个对象的。
一、Hibernate的优点Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用。hibernate为java提供了一个易用的,高效率的关系对象映射。它使用java反射机制,而不是字节码增强程序来实现透明性(hibernate中的ORMapping,就是用一个映射文件将数据库中的表与java中的类来进行关联。表中的字段对应了类中的属性。这样我们操作的是类,其实就是操作了数据库。这样就是透明性。
Hibernate的关联映射
使用Hibernate,通过简单的配置即可获得对象间关联的能力 常用的关联有one-to-many关联和many-to-one关联。many-to-many在特定场合下也会用到。
Hibernate API简介。SessionFactory:它保存了对当前数据库配置的所有映射关系,它是将某个数据库的映射关系经过编译之后全部保存在内存中的。 它还是生成Session的工厂,它在进行实例化的过程中将会用到ConnectionProvider。一个SessionFactory对应一个数据库连接,当数据库连接改变时需要修改SessionFactory
理解ORM 熟悉Hibernate 的作用
.1.from子句fromPerson表明从Person持久化类中选出全部的实例。
本章介绍了Hibernate的几种主要检索方式:HQL检索方式、QBC检索方式、SQL检索方式。HQL是Hibernate Query Language的缩写,是官方推荐的查询语言。QBC是Query By Criteria的缩写,是Hibernate提供的一个查询接口。Hibernate是一个轻量级的框架,它允许使用原始SQL语句查询数据库。
Hibernate 教程
HQL 教程
Hibernate 注解编程
Hibernate是一种免费的开源的Java语言下的对象关系映射解决方案 Hibernate 有个在 .NET Framework 上的实现版本,称为 NHibernate