一、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接口非常类似,允许创建并执行面向对象的标准化查询。