一、hibernate的原理

1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件

2.由hibernate.cfg.xml中的<mappingresource="com/xx/User.hbm.xml"/>读取并解析映射信息

3.通过config.buildSessionFactory();//创建SessionFactory

4.sessionFactory.openSession();//打开Sesssion

5.session.beginTransaction();//创建事务Transation

6.persistent operate持久化操作 //一般指Save这个方法

7.session.getTransaction().commit();//提交事务

8.关闭Session

9.关闭SesstionFactory

https://www.cnblogs.com/FoxLegend/p/6381579.html

二、hibernate的优点

三、什么是Hibernate延迟加载

四、Hibernate中类之间的关联关系有几种

五、Hibernate的缓存机制

六、Hibernate的查询方式

七、如何优化Hibernate

八、Hibernate中的一级缓存和二级缓存

九、Hibernate关于对象的三种状态

十、Hibernate二级缓存种存放数据的原则?

十一、Hibernate查找对象如何应用缓存

十二、Hibernate拒绝连接、服务器崩溃的原因?

十三、Hibernate的核心类

https://blog.csdn.net/xlgen157387/article/details/39777827

Hibernate的核心类和接口一共有6个,分别为:Session、SessionFactory、

Transaction、Query、Criteria和Configuration。这6个核心类和接口在任何开发中都会用到。

Configuration

用于加载hibernate配置

Session

Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。

Session常用的方法:

         save  保存对象

         update 修改操作

         delete删除

         get/load 根据id进行查询

         savenOrUpdate 执行save或update操作

         createQuery()获取一个Query对象

         CreateSQLQUery()获取一个可以操作sql的SQLQuery对象

         createCriteria() 获取一个Criteria它可以完成条件查询

SessionFactory

SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。

SessionFactory特点:

   1.线程安全,一个实例多个线程共享。

  2.不能随意创建和销毁,因为是重量级的。一个数据库只需创建一个SessionFactory实例,初始化时创建。如果同时访问多个数据库,需要对应每个数据库创建对应的实例。否则线程共享数据时,发生数据混乱。

Transaction

Transaction接口主要用于管理事务,它是hibernate的事务接口,对底层的事务进行了封装。使用它可以进行事务操作。

commit 事务提交

rollback 事务回滚

Query

Query接口让你方便地对数据库及持久对象进行查询,它可以有两种表达方式:HQL语言或本地数据库的SQL语句。Query经常被用来绑定查询参数、限制查询记录数量,并最终执行查询操作。

通过Query主要完成查询操作.

我们通过Query可以执行hql语句.

Query query=Session.createQuery(hql);

下面这个可以执行sql语句

SQLQUery sqlQuery=Session.createSQLQuery(sql);

Criteria

Criteria接口与Query接口非常类似,允许创建并执行面向对象的标准化查询。

 

 

10-05 21:49