码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate第一章知识点的总结

时间:2017-08-16 20:22:18      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:映射   save   get   注意   数据   总结   tac   map   pojo   

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第一章知识点的总结

标签:映射   save   get   注意   数据   总结   tac   map   pojo   

原文地址:http://www.cnblogs.com/gfh0917/p/7375306.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!