`
qingBYqing
  • 浏览: 50319 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Hibernate初步学习

    博客分类:
  • Java
阅读更多
一、入门配置

     1.步骤:
           a.加载hibernate类包,数据库链接包
           b.配置hibernate.cfg.xml文件
           c.写pojo类
           d.创建相应的pojo类**.hbm.xml文件
           e.将创建的**.hbm.xml文件路径配置到hibernate.cfg.xml中
           f.写dao类获得session对象
           g.进行测试

     2.注意事项:
                  a.配置hibernate.cfg.xml时候数据库参数
                  b.**.hbm.xml文件相关属性与数据库表结构对应
                  c.路径问题   
二、映射配置
  
     1.一对多:
               a.pojo:
                      加上一个List集合属性

               b.**.hbm.xml:
                      以bag方式映射:
  <bag name="****"table="****"orderby="****"lazy="****"cascade="****">
                     <key column="****"/>
                     <one-to-many class="****" />
                     </bag>

               
   2.多对一:
             a.pojo:
                      加上一个”一“类型对象属性
             b.**.hbm.xml
                 
<many-to-one name="****" column="****" class="****" cascade="****" outer-join="****">
</many>

    3.多对多:
               a.pojo:
                     添加一条Set映射属性
               b.**.hbm.xml:
                    
           <set name="****" table="****" cascade="****"> 
           <key column="****"/>
           <many-to-many class="****" column="****"/>
 </set>

             c.数据库表结构:
                       新建第三方表,分别关联其它两表
   
三、体系结构

        ORM:(Object Relational Mapping)是一种在不同的数据库之上封装并提供一个统一的操作接口的 技术. ORM能够为用户提供统一的OO接口, 是数据访问接口的一种实现方式.
Hibernate 可以说就是一个ORM的工具.
   

1. 组成部分:

   a.连接管理组件 :
         ConnectionProvider  用于生成和数据库建立了连接的JDBC对象。同时,还作为数据库连接的缓冲池。

   b.事务管理组件 :
         Transaction hibernate通过transaction对象实现了对数据库中事务的控制。
 
   c.对象关系管理组件:
         Session  Session是Hibernate持久化管理器的核心,提供了一系列的持久化操作方法。同时它也是Transaction的工厂。


2.执行流程:
 



a. 实例化一个Configeration类:

        它的构造方法:将配置信息(Hibernate config.xml)读入到内存。一个 Configeration 实例代表Hibernate 所有Java类到Sql数据库映射的集合。

b.实例化SessionFactory实例

        将Configeration 对象中的所有配置信息加入到SessionFactory的缓存中。

c.由SessionFactory生成一个Session
    
         链接数据库,处理加入到缓存中的信息。
     

3.Hibernate 中Java对象的状态

a.临时状态 (transient)

        特点:
             不处于Session 缓存中,数据库中没有对象记录。

     存在的情况:
             通过new语句刚创建一个对象时,当调用Session 的delete()方法,从Session 缓存中删除一个对象时。

b.持久化状态(persisted)

          特点:
               处于Session 缓存中、持久化对象数据库中设有对象记录。

        存在的情况:
               Session 的save()把临时状态变为持久化状态、Session 的load(),get()方法返回的对象 、Session 的find()返回的list集合中存放的对象、Session 的update(),saveOrupdate()使游离状态变为持久化状态;


c.游离状态(detached)

      特点:
            不再位于Session 缓存中、游离对象由持久化状态转变而来,数据库中可能还有对应记录。

   存在的情况:
              Session 的close()方法,将对象的持久状态变为游离状态、Session 的evict()方法,从缓存中删除一个对象。

  • 大小: 35.3 KB
分享到:
评论

相关推荐

    hibernat初步学习

    ### Hibernate 初步学习知识点详解 #### 一、概述 Hibernate 是一款开源的对象关系映射(Object Relational Mapping,简称 ORM)框架,它为 Java 应用程序提供了一种简化的方式来处理与数据库之间的交互。通过 ...

    Hibernate学习笔记特别详细

    《Hibernate学习笔记特别详细》 Hibernate,作为一款开源的Object-Relational Mapping(ORM)框架,为Java开发者提供了强大的数据库操作支持。它简化了数据库访问的复杂性,使得开发人员可以像操作对象一样操作...

    struts+spring+hibernate练习用初步学习

    ssh练习用+struts+spring+hibernate练习用初步学习

    hibernate 3.3学习笔记

    **hibernate 3.3学习笔记** 在深入探讨Hibernate 3.3的学习笔记之前,首先需要理解Hibernate是什么。Hibernate是一个强大的开源Java持久化框架,它简化了数据库操作,允许开发者将精力集中在业务逻辑上而不是数据库...

    Hibernate初步配置

    **Hibernate初步配置** Hibernate是一款强大的Java ORM(对象关系映射)框架,它简化了数据库与Java应用程序之间的交互,使得开发者可以更加关注业务逻辑,而不用过多地处理SQL语句。在本篇中,我们将深入探讨如何...

    Hibernate3学习笔记(一)-hibernate概述和简单实例入门

    “Hibernate3学习笔记(一)-hibernate概述和简单实例入门” 这个标题表明了本文档将介绍的是关于Hibernate3的基本概念和初步应用。Hibernate3是Java开发中的一个流行对象关系映射(ORM)框架,它简化了数据库操作,将...

    26. 尚硅谷_佟刚_Hibernate 课件及源代码

    3. "hibernate-1" - 这是源代码的第一部分,可能包含Hibernate的初步设置、基本的CRUD操作等入门内容,适合初学者上手。 4. "hibernate-4" - 可能涉及到Hibernate的第四部分,涵盖了一些高级主题,如HQL(Hibernate ...

    学习hibernate第二天

    标题“学习hibernate第二天”表明我们正在探讨的是关于Hibernate框架的初步学习过程,特别是第二天的学习内容,这通常涉及到更深入的理论和技术细节。Hibernate是一个Java语言中的对象关系映射(ORM)框架,它允许...

    Hibernate学习笔记(一)代码

    这篇笔记将通过一个简单的“HelloWorld”示例来引导我们初步了解Hibernate的基本用法。 首先,我们需要在项目中添加Hibernate的依赖。这通常通过Maven或Gradle等构建工具完成,将相应的Hibernate库添加到项目的依赖...

    hibernate学习笔记-01helloword

    以上就是"hibernate学习笔记-01helloworld"涵盖的初步知识,这个简单的示例是进一步深入Hibernate学习的基础。通过这个起点,可以逐步学习到更复杂的持久化操作,如关联映射、级联操作、缓存策略等高级特性。

    hibernate开发流程 入门

    在实际项目中,你可能需要进一步学习和掌握更多的Hibernate特性,如懒加载、级联操作、事务管理等,以便更高效、灵活地管理数据。同时,理解Hibernate的配置文件(hibernate.cfg.xml)以及实体类和映射文件的细节也...

    hibernate学习课件

    在初步接触中,你将学习如何创建SessionFactory,它是Hibernate的主要入口点,以及如何通过Session对象进行CRUD(创建、读取、更新、删除)操作。 2. **Hibernate的HQL查询**: Hibernate 提供了面向对象的查询...

    hibernate2.1

    在"chapter1"这个子目录中,你可能找到关于Hibernate 2.1的初步教程或示例,这将帮助你了解如何配置项目、创建实体类、设置映射关系、执行基本的CRUD操作等。通过对这些内容的学习,你可以掌握Hibernate的基本用法,...

    hibernate in action 中文版书籍

    1. **Hibernate概述**:介绍Hibernate的基本概念,包括它的历史、目标和在Java应用中的地位,以及与JDBC的关系和对比,帮助读者建立对Hibernate的初步认识。 2. **安装与配置**:讲解如何在项目中集成Hibernate,...

    Hibernate4的一些总结

    【标题】:“Hibernate4的...以上内容只是对Hibernate4框架的初步介绍,真正的精通还需要结合实际项目进行深入学习和实践。对于源码的探索,可以帮助开发者更深入地理解其内部工作原理,从而更好地利用这个强大的工具。

Global site tag (gtag.js) - Google Analytics