hibernate系列
lenotang
与人分享 集思广益
展开
-
Hibernate中级联操作cascade选项
Hibernate中级联操作cascade选项 none:在保存、更新或删除对象时,忽略其他关联的对象。他是cascade属性的默认值。save-update:当通过Session的save()、update()以及saveOrUpdate()方法保存或更新当前对象是,级联保存所有关联的新建的临时对象,并且级联更新所有关联的游历对象。delete:当通过Session的delete原创 2008-08-04 22:09:00 · 2700 阅读 · 0 评论 -
Hibernate数据查询
数据查询与检索是Hibernate的一个亮点。Hibernate的数据查询方式最主要有3种,它们是:Hibernate Query Language(HQL)Query By CriteriaNative SQL下面对这3种查询方式分别进行讲解。Hibernate Query Language(HQL)Hibernate Query Language(HQL)提供了十分转载 2008-07-02 00:36:00 · 2114 阅读 · 4 评论 -
Hibernate的Cache管理
Hibernate的Cache管理Cache就是缓存,它往往是提高系统性能的最重要手段,对数据起到一个蓄水池和缓冲的作用。Cache对于大量依赖数据读取操作的系统而言尤其重要。在大并发量的情况下,如果每次程序都需要向数据库直接做查询操作,它们所带来的性能开销显而易见,频繁的网络传输、数据库磁盘的读写操作都会大大降低系统的整体性能。此时,如果能把数据在本地内存中保留一个镜像,下次访问时只需从内存转载 2008-07-02 00:11:00 · 2571 阅读 · 0 评论 -
Hibernate的事务管理
Hibernate的事务管理事务(Transaction)是工作中的基本逻辑单位,可以用于确保数据库能够被正确修改,避免数据只修改了一部分而导致数据不完整,或者在修改时受到用户干扰。作为一名软件设计师,必须了解事务并合理利用,以确保数据库保存正确、完整的数据。数据库向用户提供保存当前程序状态的方法,叫事务提交(commit);当事务执行过程中,使数据库忽略当前的状态并回到前面保存的状态的方法叫转载 2008-07-02 00:07:00 · 1260 阅读 · 0 评论 -
Hibernate持久化对象的三种状态
大家知道,Java对象的生命周期,是从通过new语句创建开始,到不再被任何引用变量引用结束,结束后它占用的内存将被JVM垃圾回收机制收回。在Hibernate中持久化类的对象可以划分为三种状态,分别是瞬态,持久态,脱管态。 1. 瞬态(Transient),也叫临时态。处于这种状态的对象具备的特征如下:a) 不在Session的缓存中,不与任何原创 2008-06-29 19:41:00 · 10471 阅读 · 15 评论 -
Hibernate检索方式
我们在项目应用中对数据进行最多的操作就是查询,数据的查询在所有ORM框架中也占有极其重要的地位。那么,如何利用Hibernate查询数据呢?Hibernate为我们提供了多种数据查询的方式,又称为Hibernate的检索方式,主要有以下五种,我们来系统地学习一下。 1.导航对象图检索方式。(根据已经加载的对象,导航到其他对象。) 2.OID检索方式。(按照对象的原创 2008-06-29 22:53:00 · 5365 阅读 · 0 评论 -
Hibernate利用关联关系操纵对象
利用关联关系操纵对象数据对象之间关联关系有一对一、一对多及多对多关联关系。在数据库操作中,数据对象之间的关联关系使用JDBC处理很困难。本节讲解如何在Hibernate中处理这些对象之间的关联关系。本节使用到4个类,它们分别是Student(学生)、Card(学生证)、Group(班级)和Course(课程),它们之间的关联关系如图1-1所示。这些实体存在级联(cascade)问题。例如,当删转载 2008-07-02 00:26:00 · 5077 阅读 · 1 评论 -
Hibernate的ID标识符生成器
这次我们一起来看看Hibernate的ID标识符生成器,也就是Hibernate生成OID有哪些策略!先看下表: Hibernate标识生成策略标识符生成器描述increment适用于代理主键。由Hibernate自动以递增方式生成。identity适用于代理主键。由底层数据库生成标识符。原创 2008-07-01 23:14:00 · 2232 阅读 · 0 评论 -
Hibernate中get和load方法的区别
这次我们来谈一下Hibernate3.2 Session加载数据时get和load方法的区别,其实这个在网上有很多的论述,可大多语焉不详或经不起实践的推敲,让很多初学者学的满腹疑窦,现在我给大家讲解一下: 1. 对于get方法,hibernate会确认一下该id对应的数据是否存在,首先在session缓存中查找,然后在二级缓存中查找,还没有就查询数据库,数据库中没有就返回null。这个相对原创 2008-06-29 01:26:00 · 27295 阅读 · 15 评论 -
Hibernate QBC高级查询
Hibernate QBC查询 QBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口。我们看下面的示例程序:Criteria criteria=session.createCriteria(User.class);criteria.add(Expression.e转载 2008-10-05 20:44:00 · 3724 阅读 · 2 评论