Java web学习—Hibernate框架

         ORM原理:对象到关系的映射,在关系数据库和对象之间做一个自动映射,将数据表映射成为对象(持久化类)。

          Hibernate是一个全自动的关系/对象的解决方案通过持久化类(*.java),映射文件(*.hbm.xml)和配置文件(*.cfg.xml)惭怍关系数据库.有三个类:配置类(configuration),会化工厂类(SessionFactory),会话类(Session)

配置类(Configuration):管理hibernate的配置信息和启动Hibernate

会话工厂类(SessionFactory):生成Session的工厂,保存了数据库中所有的映射关系,是线程安全的初始化创建过程会消耗大量的系统资源

会话类(Session):进行增,删,查,改的操作,不是线程安全,避免多个线程共享一个Session

Hibernate配置文件

Java web学习—Hibernate框架_第1张图片

hibernate持久化类编程规则:

1.实现一个默认构造函数,以便通过Constructor.newInstance()实例化持久化类

2.提供一个标识属性(可选):一般映射数据库表中的主键字段

3.使用非final类(可选):                                4.为属性声明访问器(可选):以private 声明

Hibernate映射

Java web学习—Hibernate框架_第2张图片

DOCTYPE元素:用来获取DTD文件

hibernate-mapping元素:根元素

class元素:指定持久化类和映射的数据库表名:name是持久化类的全限定类名,table属性是映射数据库表名,包含了一个元素(唯一标识和数据库的主键字段的映射)和多个元素(其他属性和数据表中非主键字段的映射),

Java web学习—Hibernate框架_第3张图片

Hibernate实例状态:瞬时状态(transient),持久化状态(persistent),托管状态(detached)

瞬时状态:实体对象通过new关键字开辟内存创建Java对象,单数没有在hiberante Session 管理中,如果没有变量引用会被jvm回收,瞬时对象的对象在内存中是独立的与数据库中数据无关

持久化状态:瞬时状态被对象引用会变为持久化状态,存在于数据关联,只有事务结束后才会更新数据库

托管状态:持久化状态的session关闭后变为托管状态,存在与数据关联,不在session管理中

Java web学习—Hibernate框架_第4张图片

很抱歉,暂停学习准备着手去做一个小项目来练下之前学到的东西

你可能感兴趣的:(Java web学习—Hibernate框架)