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技术如Hibernate和JDO来实现的,它简化了Java应用与数据库之间的交互。Hibernate通过运行时转换POJOs为持久对象,提供了更高的开发效率和灵活性,而JDO则通过编译时增强来优化性能。...
Hibernate 操作持久化对象是Java开发中用于简化数据库交互的重要工具。它是一个开源的Java持久化框架,由Gavin King创建,并逐渐发展成为Java世界中主流的持久化解决方案。Hibernate的核心在于提供对象-关系映射(ORM...
在Hibernate中,数据持久化是通过对象和数据库记录之间的映射实现的。 2. **Hibernate 配置** - **hibernate.cfg.xml**: 这是Hibernate的配置文件,包含了数据库连接信息、JDBC驱动、方言、缓存策略等设置。 - **...
**标题:Hibernate 操纵持久化对象** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互。本篇将详细讲解如何使用Hibernate来操纵持久化对象,这对于深入理解...
《精通Hibernate:Java持久化对象技术详解[第二版]》是一部深入探讨Hibernate框架的专业书籍,旨在帮助Java开发者熟练掌握和运用这一强大的ORM(Object-Relational Mapping)工具。Hibernate是Java开发领域中广泛...
总的来说,"Hibernate自动生成持久化类和映射文件"是myEclipse提供的一种便捷工具,它帮助开发者快速地将数据库表结构转化为Java对象,简化了开发流程,使开发者能够更加专注于业务逻辑的实现,而不是底层的数据库...
《Java精通Hibernate对象持久化技术权威指南》是一本深度探讨Java开发中如何高效地使用Hibernate进行对象持久化的专业书籍。本书旨在帮助Java开发者熟练掌握Hibernate框架,实现数据库操作的简化和自动化,提升软件...
**Hibernate对象持久化** 在Java开发中,数据库操作是不可或缺的一部分。Hibernate作为一种强大的ORM(对象关系映射)框架,极大地简化了Java应用与数据库之间的交互。它通过将Java类映射到数据库表,实现了对象...
### 使用Hibernate对象持久化服务简化Java数据库访问 #### 摘要 Hibernate作为一个高效且功能丰富的对象关系映射(ORM)框架,在Java开发领域扮演着举足轻重的角色。通过强大的映射机制,Hibernate能够将Java对象...
- **JPA 规范**:Java Persistence API(JPA)是一种 Java 规范,用于提供持久化服务,Hibernate 实现了 JPA 规范,因此也可以作为 JPA 提供者来使用。 ##### 2.3 安装配置 - **依赖**:需要添加 Hibernate 相关的 ...
通过阅读《精通Hibernate:Java对象持久化详解》,开发者可以深入了解Hibernate的工作原理,学习如何有效地使用它来实现对象持久化,从而提高开发效率,降低维护成本。这本书对于Java Web开发者,尤其是初次接触...
总结来说,Hibernate中的持久化是ORM的一种实现,它简化了Java应用与关系数据库之间的数据交换,使得对象的状态能够在数据库中持久保存,同时减少了直接操作SQL的繁琐工作,提高了开发效率和代码的可维护性。...
4. **持久化类(Persistent Class)**: 实体类必须是可序列化的,即实现`Serializable`接口,这样才能确保对象能够在内存中持久化。 5. **会话(Session)**: Hibernate的会话接口是操作数据库的主要入口点,它负责...
通过学习《精通Hibernate:Java对象持久化技术详解》,开发者能够掌握如何利用Hibernate优化数据库操作,提升开发效率,减少错误,并实现高效、可靠的Java应用程序。在实际项目中,理解并熟练运用Hibernate的各种...
Hibernate持久化技术在网上购书系统中的设计与实现 本资源是基于Hibernate持久化技术在网上购书系统中的设计与实现的毕业论文,涵盖了Hibernate的概念、原理、架构、核心接口、持久化功能等方面的知识点。 一、...
Hibernate持久化技术在网上购书系统中的设计与实现 Hibernate持久化技术是指使用Hibernate框架来实现数据持久化的技术。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得...
5. **持久化操作** 使用Hibernate进行CRUD操作非常直观。例如,通过Session的save()方法可以保存新对象到数据库,update()方法更新已存在的对象,delete()方法删除对象,而find()或get()方法用于根据主键检索对象。...