HIbernate基础
框架:提供一个可重用的公共结构的半成品。
Hibernate框架:优秀的持久化框架--属于ORM.
负责简化将对象数据保存到数据库中,或从数据库中读取数据并封装到对象的工作,类部封装了通过JDBC访问数据库的操作。
api:接口,别人写好的类。 ORM:对象关系映射,是一种持久化状态。它在对象模型和关系型数据库之间建立对应关系。
HIbernate框架优点:1功能强大 2支持许多面向对象的特性。 3可移植性好 4框架开源 适合于大中型项目
缺点:不合适以数据为中心大量使用存储过程的应用 2,大规模的插入,修改和删除不适合Hibernate
部署 持久化类和映射文件 参数 元素 字段 对象
Hibernate 完成持久化类:
1. 读取并解析配置文件 ----Configuration负责管理Hibernate配置信息
2.读取并解析映射文件,创建SessionFactory.
sessionFactory负责创建session对象
3.打开session --session 是持久化的基础,负责完成对象的持久化操作,相当于jdbc中的connect. session是持久化管理器的核心,
提供众多的持久化方法,如:sava,delete,update.
4,开始一个事务(可选)。
5数据库操作
6结束事务
7关闭session
加载对象:--get() 和load方法
get和load方法区别: 当使用get()方法时,如果加载的数据不存在,get()方法会返回一个NULL
当load时,若加载的数据不存在,则会抛出异常, 这是主要区别之一。
增删改---一定要在事务环境中完成。
Hibernate三种状态、
1.瞬时状态 2持久状态 3游离状态
hibernate主要通过session来管理java对象的状态。
当对象与session关联,被session管理,它就处于持久状态。
什么时候与session发送关联?get(),load()加载数据时,save,saveOrUpdate()方法时。
HQL完全面向对象,没有表与字段的概念。
from Dept as dept as关键字是可选的。
在HQL语句中可使用lower()和yera()函数。
执行HQL语句的步骤:
1.获取session对象
2.编写HQL语句。
3.创建Query对象
4.执行查询,得到查询结果。
在HQL中查询语句中绑定参数:
1字符串拼接。。‘“ +name+”’ 这种方法会导致性能降低。
2按参数位置位置绑定。 占位符? query.setString().
3.按参数名称绑定。 query.setString().
4.setParameter() 任意类型的参数
5.setProperties()方法:绑定命名参数与一个对象的属性值
2与3相比:
3有较好的可读性,有利于代码的维护
Hibernate通过配置的方式,将对象间的关联关系映射到数据库上,方便完成多表的持久化操作。
<Set>节点的inverse属性描述了由哪一方负责维系关联关系,cascade属性描述了级联操作。
http://www.cnblogs.com/jbelial/archive/2012/05/25/2506818.html 《----学习