Hibernate注解编程
1、 HelloWorld a) Xml b) Annotction 2、 Hibernate原理模拟-什么是O/RMapping以及为什么要有O/RMapping 3、 常风的O/R框架 4、 Hibernate基础配置 5、 Hibernate核心接口介绍 6、 对象的三种状态 7、 ID生成策略 8、 关系映射 9、 Hibernate查询(HQL) 10、 在Struts基础上继续完美BBS2009 11、 性能优化 12、 补充话题
Hibernate提供了完善的按条件(Query By Criteria, QBC) org.hibernate.Criteria接口表示特定持久类的一个查询。 Criteria 代表一次查询 Criterion 代表一个查询条件。 Restrictions 产生查询条件的工具类。 Criterion 是 Criteria 的查询条件。Criteria 提供了 add(Criterion criterion) 方法来
Hibernate入门OR映射技术通过HibernateAPI操纵数据库检索策略和方式数据库事务、并发、缓存与性能优化高级配置Hibernate入门案例Hibernate关系数据库Customer类BusinessService类对象关系型映射Hibernate API Hibernate配置文件Customers表Hibernate入门创建配置文件。
Hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定。
Hibernate到底是什么? 它是连接Java应用程序和关系数据库的中间件; 它对JDBC API进行了封装,负责Java对象的持久化; 在分层的软件架构中它位于持久化层,封装了所有的数据访问细节,使业务逻辑层可以专注于实现业务逻辑; 它是一种ORM映射工具,能够建立面向对象的域模型和关系数据模型之间的映射。
Hibernate是什么 连接java应用程序和关系型数据库的中间件 对JDBC API封装,负责对象持久化 位于持久化层,封装所有的数据访问细节,使业务逻辑层更关注于业务逻辑。 一种ORM映射工具。
与SQL查询一样,hql也支持连接查询,如内连接,外连接和交叉连接.支持的链接类型是从ANSI SQL中借鉴来的. 1: inner jion (内连接) 2: left outer join (左外连接) 3: right outer join(右外连接) 4: full join(全连接--不常用) inner jion 可以简写为join. 正常情况下必须要建关联。
最基本的Hibernate3.3.2之JAR包(必要):注意:slf4.jar和slf4j-nop.jar之间的版本需要匹配,如果Hibernate中使用早期的slf4j.jar,可以从slf4j官方网站下载新的JAR包将其置换掉如果要使用Annotation,还需要下面的JAR包:使用javax.persistence下的Annotation可以不依赖Hibernate的JAR包,这样的话可以切换到其他的ORM框架如果要使用log4j,则需要添加相关的JAR包:当然别忘记了在类路径下放log4j的配置文件哦
《Hibernate手动配置过程》1.增加JAR支持(以下是必备的Hibernate的jar包支持)将上述jar包拷贝到lib文件夹中。2.写hibernate配置文件hibernate.cfg.xml(一般将此文件放在src根目录下)3.写表对应的实体类(DTO)(例:UserInfo.java)4.写实体类—表的映射文件*.hbm.xml5.将映射文件(*.hbm.xml)注册到hibernate.cfg.xml中
实体和数据库之间存在某种映射关系,hibernate根据这种映射关系完成数据的存取。在程序中这种映射关系由映射文件(*.hbm.xml)或者java注解(@)定义。本文以java注解的形式总结映射关系配置。
数据库事务与并发。教学内容数据库事务的概念声明事务边界并发问题设置事务隔离级别使用悲观锁解决并发问题使用乐观锁解决并发问题参考教材:《精通Hibernate:Java对象持久化技术详解》数据库事务的概念事务是指一组相互依赖的操作行为,如银行交易、股票交易或网上购物。事务的成功取决于这些相互依赖的操作行为是否都能执行成功,只要有一个操作行为失败,就意味着整个事务失败。
Hibernate检索对象的方式。教学内容HQL检索方式QBC检索方式本地SQL检索方式参考教材:《精通Hibernate:Java对象持久化技术详解》Hibernate提供的检索对象的方式导航对象图检索方式根据已经加载的对象,导航到其他对象。
Hibernate的检索策略。教学内容立即检索策略延迟检索策略迫切左外连接检索策略每种检索策略的适用范围在程序中显式指定迫切左外连接检索策略参考教材:《精通Hibernate:Java对象持久化技术详解》CUSTOMERS表和ORDERS表中的记录运行Query的list()方法ListcustomerLists=session.createQuery("fromCustomerasc").list();假定采用立即检索策略,运行以上Query的list()方法时,Hibernate将先查询CUSTOMERS表中所有的记录,然后根据每条记录的ID,到ORDERS表中查询有参照关系的记录。
域对象在持久化层的四种状态。教学内容Session的缓存的作用Session清理缓存的时间点对象的临时状态、持久化状态、游离状态和删除状态用Session的update()方法使游离对象转变为持久化对象参考教材:《精通Hibernate:Java对象持久化技术详解》理解Session的缓存当Session的save()方法持久化一个Customer对象时,Customer对象被加入到Session的缓存中,以后即使应用程序中的引用变量不再引用Customer对象,只要Session的缓存还没有被清空,Customer对象仍然处于生命周期中。
第一个Hibernate应用教学目标创建Hibernate的配置文件创建持久化类创建数据库Schema创建对象-关系映射文件映射文件的文档类型定义(DTD)把Customer持久化类映射到CUSTOMERS表通过HibernateAPI操纵数据库用ANT工具管理项目参考教材:《精通Hibernate:Java对象持久化技术详解》在Java应用中使用Hibernate的步骤创建Hibernate的配置文件创建持久化类创建对象-关系映射文件通过Hibernate API编写访问数据库的代码
Java对象持久化技术概述; 创建Hibernate应用; 映射一对多关联关系; 域对象在持久化层的状态; Hibernate检索策略; Hibernate检索方式;; 数据库事务与并发; 映射组成关系;
域对象在持久化层的四种状态教学内容Session的缓存的作用Session清理缓存的时间点对象的临时状态、持久化状态、游离状态和删除状态用Session的update()方法使游离对象转变为持久化对象理解Session的缓存当Session的save()方法持久化一个Customer对象时,Customer对象被加入到Session的缓存中,以后即使应用程序中的引用变量不再引用Customer对象,只要Session的缓存还没有被清空,Customer对象仍然处于生命周期中。
教学目标创建Hibernate的配置文件创建持久化类创建数据库Schema创建对象-关系映射文件映射文件的文档类型定义(DTD)把Customer持久化类映射到CUSTOMERS表通过Hibernate API操纵数据库
教学内容HQL检索方式QBC检索方式本地SQL检索方式Hibernate提供的检索对象的方式导航对象图检索方式根据已经加载的对象,导航到其他对象。例如,对于已经加载的Customer对象,调用它的getOrders().iterator()方法就可以导航到所有关联的Order对象,假如在关联级别使用了延迟加载检索策略,那么首次执行此方法时,Hibernate会从数据库中加载关联的Order对象,否则就从缓存中取得Order对象。