hibernate是一种ORM(object relation mapping,对象关系映射)框架,所谓的对象关系映射,通俗的说,就是把JAVA对象保存到关系型数据库中。 hibernate要做的事,就是让对象投影到关系数据库中,然后实施持久化。其具体实现: 建立对象到关系数据库的映射。 example:建立User类到数据库的映射 一个简单的类User: public class User{ private int id; private String name; } User类对应的数据库表USER: column-name type rule id number P name varchar2 R 当进行持久化时,需要把对象的两个属性的值保存到数据库存的USER中,如果使用JDBC的话,我们需要自己写SQL,并获取对象两个属性的值作为参数来进行持久话。SQL可能如下: insert into USER(name) value(?); 当使用hibernate时,首无要作好对象到表的映射关系,使用配置文件来实现: User.hbm.xml: ... <class name="user" table="USER"><!--该类对象保存到USER表--> <id name="id" column="id"> <generator class="native"/><!--这里有很多策略来生成ID,这里选择本地自动生成,--> </id> <property name="name" column="name"> </class> ... 然后在通过hibernate.cfg.xml中配置到数据库的联接,并读取User.hbm.xml文件,就建立了映射关系了。 当需要持久化对象时,需要使用到hibernate的session对象: session.save(new User()); 看到了吗?我们只需要操作对象就行了,也就是说,编程的人不需要看到数据库了,他只需要直接操作对象就行了。 hibernate 如何实现持久化? 答: 1.hibernate是一种ORM(object relation mapping,对象关系映射)框架,所谓的对象关系映射,通俗的说,就是把JAVA对象保存到关系型数据库中,即进行持久化的框架。 2.hibernate进行持久化首先要建立对象到关系数据库的映射。 3.hibernate根据定义的映射规则将对象持久化(保存到)数据库存中。这就实现了对象持久化。
原理:
1.读取并解析配置文件
2.读取并解析映射信息,创建SessionFactory
3.打开Sesssion
4.创建事务Transation
5.持久化操作
6.提交事务
7.关闭Session
8.关闭SesstionFactory
当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。
1.Hibernate和JDBC的主要区别就是:Hibernate先检索缓存中的映射对象(即Hibernate操作的是对象),而JDBC是直接操作数据库。.
2.Hibernate是对JDBC的轻量级的对象封装,它是一个独立的对象持久层的框架,和APP Server,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合。
3.Hibernate是和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和App Server没有任何关系,也不存在兼容性问题。
4.正确的使用JDBC技术,它的效率一定比hibernate要好,因为hibernate是基于jdbc的技术。
分享到:
相关推荐
◎ 数据持久化的概念 ◎ ORM的基本概念,POJO,PO的概念以及JDO的实现机制 ◎ Hibernate的实现机制 ◎ Hibernate的开发过程:如何配置数据库连接,如何操作数据库
什么是对象持久化?对象持久化有什么用?(解决的问题) 4. 如何对象持久化? 5. 如何用数据库的方法做对象持久化? 6. ORM(对象关系映射)是什么?有什么作用? 7. ORM从对象到表所要考虑的问题 8. 什么是ORM框架?有什么...
Hibernate持久化在框架开发中的使用
5.1.2 Hibernate访问持久化类属性的策略 5.1.3 在持久化类的访问方法中加入程序逻辑 5.1.4 设置派生属性 5.1.5 控制insert和update语句 5.2 处理SQL引用标识符 5.3 创建命名策略 5.4 设置数据库Schema...
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
hibernate持久化技术在网上购书系统中的设计与实现.doc
Hibernate持久化技术在网上购书系统中的设计与实现毕业论文.doc
hibernate持久化技术在网上购书系统中的设计与实现-毕业论文.doc
hibernate持久化技术在网上购书系统中的设计与实现毕业论文设计.doc
大学毕业论文-—hibernate持久化技术在网上购书系统中的设计与实现.doc
本科毕业论文-—hibernate持久化技术在网上购书系统中的设计与实现.doc
代码清晰容易接受,如果忘记了可以拿出来参考哦
1.Hibernate持久化类:Hibernate的持久化类是一个JavaBean(pojo+相应属性的getter和setter方法),该JavaBean最好实现java.io.Serializable接口 2.Hibernate映射文件:Hibernate映射文件是Hibernate与数据库进行持久化...
5.1.2 Hibernate访问持久化类属性的策略 5.1.3 在持久化类的访问方法中加入程序逻辑 5.1.4 设置派生属性 5.1.5 控制insert和update语句 5.2 处理SQL引用标识符 5.3 创建命名策略 5.4 设置数据库Schema...
5.1.2 Hibernate访问持久化类属性的策略 5.1.3 在持久化类的访问方法中加入程序逻辑 5.1.4 设置派生属性 5.1.5 控制insert和update语句 5.2 处理SQL引用标识符 5.3 创建命名策略 5.4 设置数据库Schema...
自己写的一个持久化层,模仿Hibernate的操作
Hibernate实现持久化服务所需的最小功能包