Hibernate第一章知识点的总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate第一章知识点的总结相关的知识,希望对你有一定的参考价值。

1.Hibernate映射文件中:

<generator class="increment"/>

1)class的值等于nativeincrement:表格中的主键是自动生成的;

2)Class的值等于assigned:主键是自己手动添加的

2.调用save的时候,即便没有事务提交,也会从数据库查询主键值(主键生成策 略是通过数据库产生)

3.缓存

1)缓存的一个重要的功能就是避免重复读取数据库。

2)所有的缓存都是放在session中,这个也称之为hibernate框架的一级缓 存。

4.状态

1)对象的状态也称之为对象的生命周期。

2)Hibernate只分了3个阶段:

I.临时,瞬时()transient

II.持久化(persistent

III.游离,托管,分离(),离线(detached

5.使用Hibernate实现持久化的几个步骤:

1)编写持久化类PO,由POJO加映射文化构成

2)获取ConfigurationWeb开发中,因为hibernate.cfg.xml在默认的路 径下,用不带参数的new Cofiguration().configure()即可)

3)获取SessionFactory

4)获取Session,打开事务

5)用面向对象的方式操作数据库

6)关闭事务,关闭Session

6.Hibernate的工作原理:

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

2)hibernate.cfg.xml中的

<mapping resourse=com/xxx/User.hbm.xml/>读取并解析映射信息

3)通过SessionFactory sf = config.buildSessionFactoty();//创建 SessionFactory

4)Session session = sf.openSession();//打开Session

5)Transaction tx = Session.beginTransaction();//创建并启动事务 Transation

6)Persistent operate操作数据,持久化操作

7)Tx.commit();//提交事务

8)关闭Session

9)关闭SessionFactory

7.为什么要用Hibernate

1)JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性 代码。

2)Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的DRM的实现。 他很大程度的简化DAO的编码工作。

3)Hibernate使用java反射机制,而不是字节码增强程序来是实现透明性。

4)Hibernate的性能非常好,因为它是个轻量级框架,映射的灵活性很出色, 它支持各种关系数据库,从一对一到多对多的各种复杂关系。

8.知识点小结:

1)增删改是必须要有事务的,因为hibernateConnection对象设置为非自 动提交模式

2)查询可以不需要(OpenSession的方式)

3)HibernateUtil的写法

4)Dao对象里面传入的是SessionFactory

9.SessionFactory

1)创建session对象

2)它是线程安全的

3)一般来说一个项目,只有一个SessionFactory对象

4)SessionFactory会管理元数据

10.Session

1)表示是数据库的一个会话

2)Session对象里面一定会有一个JDBCConnection对象,Session Connection是一对多的关系,就是说一个Session可以关联不同(多个) Connection,但是在Session使用时,是只有一个Connection

I.OpenSession创建了一个Session,此时已经有一个Connection Session关联了。

II.session.disconnect(),此时session就不与任何connection关联

III.session.reconnect此时session就会重新关联一个connection

3)Session是线程不安全的。

4)得到session的方法有两种:a)OpenSession,b)getCurrentSession

5)每次调用OpenSession的时候,都会创建一个全新的Session

11.池:

一般在编程中指的是对象池,hibernate里面,默认都是会用池来管理Connection

 

12.Dao方法中查询的要注意的地方:

技术分享

 

 

13.数据库的连接配置文件(hibernate.cfg.xml)要注意的地方:

 技术分享

1)<property name=”hbm2ddl.auto”>create</property>:在已创建表格 时,可以注释,如果注释了,添加执行时就会在原表上再新增一条数据,否 则,会创建一张新表,把之前的表覆盖。、

2)<property name=”show_sql”>true</property>

<property name=”format_sql”><property/>:如果配置这两行代码, 在运行时就会在后台显示出数据(例如:创建表数据,添加数据等)

 

14.状态转换图:

 技术分享

 

以上是关于Hibernate第一章知识点的总结的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络第一章知识点总结

MDN——javascript——入门——第一章——知识点总结

2021年软考高项第一章信息化和信息系统 重点知识点总结

2021年软考高项第一章信息化和信息系统 重点知识点总结

Python培训知识总结系列- 第一章Python编程基础

数据库原理与设计第一章知识点总结