
细谈Hibernate
文章平均质量分 89
深入浅出介绍hibernate,详细介绍hibernate内部原理和基本实现,剖新源码,使大家对hibernate有一个清楚的认识
曹胜欢
滨州学院计算机科学与技术系软件技术2010级学生。优快云博客专家。2012IT博客大赛“优秀学生博客”。专注于java开发领域。向往云计算、大数据。喜欢和大家技术交流。希望大家能够互相学习。共同提高。
展开
-
Java程序员从笨鸟到菜鸟之(七十六)细谈Hibernate(十八)悲观锁和乐观锁解决hibernate并发
锁( locking),这个概念在我们学习多线程的时候曾经接触过,其实这里的锁和多线程里面处理并发的锁是一个道理,都是暴力的把资源归为自己所有。这里我们用到锁的目的就是通过一些机制来保证一些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的“锁”,即给我们选定的目标数据上锁,使其无法被其他程序修改。Hibernate支持两种锁机制:即通常所说的“悲观锁(Pessimist原创 2012-06-12 10:25:46 · 16652 阅读 · 9 评论 -
Java程序员从笨鸟到菜鸟之(六十九)细谈Hibernate(十七)Hibernate实现分页和综合查询详解
现如今,在web系统项目中,分页及综合查询几乎成了不可缺少的功能,每一个实体列表几乎都要要求带有分页及综合查询,前几天做老师布置的作业,想着干脆做一个通用点的,省得以后再每一次都要写一遍了。下面我们就一起来看一下我用hibernate实现的通用分页及综合查询。当然我这里所属的通用并不似绝对的,每到一个不同的场合,前台页面和数据接收还是稍微的要改一下:首先我们先来看一下列表的jsp页面:li原创 2012-06-07 11:22:53 · 6258 阅读 · 15 评论 -
Java程序员从笨鸟到菜鸟之(六十五)细谈Hibernate(十六)数据库事务与隔离级别
数据库事务:事务是指一组相互依赖的操作行为,如银行交易、股票交易或网上购物。事务的成功取决于这些相互依赖的操作行为是否都能执行成功,只要有一个操作行为失败,就意味着整个事务失败。关于事务的一个经典例子就是:A到银行办理转账事务,把100元钱转到B的账号上,这个事务包含以下操作行为: (1)从A的账户上减去100元。 (2)往B的账户上增加100元。 显然,以上两个操作必须作为原创 2012-06-03 11:33:02 · 9807 阅读 · 8 评论 -
Java程序员从笨鸟到菜鸟之(六十四)细谈Hibernate(十五)HQL与QBC查询方式详解
首先来看一下,hibernate提供的几种检索方式:1.导航对象图检索方式 :根据已经加载的对象,导航到其他对象。例如,对于已经加载的Customer对象,调用它的getOrders().iterator()方法就可以导航到所有关联的Order对象,假如在关联级别使用了延迟加载检索策略,那么首次执行此方法时,Hibernate会从数据库中加载关联的Order对象,否则就从缓存中取得Order对原创 2012-05-31 13:42:01 · 10569 阅读 · 5 评论 -
Java程序员从笨鸟到菜鸟之(六十三)细谈Hibernate(十四)Hibernate三种检索方式详解
Hibernate检索机制中主要分为三种,他们各自有各自的好处和缺点,他主要分为以下三种:1.立即检索策略 2.延迟检索策略 3.左外连接检索策略 立即加载:首先我们来看一下立即加载 List customerLists=session.createQuery("fr原创 2012-05-30 10:55:15 · 7344 阅读 · 4 评论 -
Java程序员从笨鸟到菜鸟之(六十二)细谈Hibernate(十三)session缓存机制和三种对象状态
Hibernate向我们提供的主要的操纵数据库的接口,Session就是其中的一个,它提供了基本的增,删,改,查方法.而且具有一个缓存机制,能够按照某个时间点,按照缓存中的持久化对象属性的变化来更新数据库,着就是Session的缓存清理过程.在Hibernate中对象分为三个状态,临时,持久化,游离.如果我们希望JAVA里的一个对象一直存在,就必须有一个变量一直引用着这个对象.当这个变量没了.对象原创 2012-05-29 11:55:02 · 11481 阅读 · 8 评论 -
Java程序员从笨鸟到菜鸟之(六十一)细谈Hibernate(十二)hibernate查询排序组件映射
在实际开发过程中,有很多用户需要时要把查询出来的结果进行排序显示,而不是在数据库里面那样顺序混乱那样的显示,这样的话我们不得不要对数据进行排序了,hibernate对数据排序提供了很好的支持,hibernate提供了两种对查询到得数据结果进行排序:1:数据库排序,也就是说在数据库内部就进行完了排序。2.内存排序,也就是说在数据库中把数据加载到内存中在进行排序。其实一般我们推荐使用第二种排序方式,因原创 2012-05-28 17:22:39 · 6173 阅读 · 6 评论 -
Java程序员从笨鸟到菜鸟之(六十)细谈Hibernate(十一)hibernate复合主键映射
欢迎阅读本专题其他博客: 细谈Hibernate(六)Hibernate继承关系映射 细谈Hibernate(七)Hibernate自身一对多和多对多原创 2012-05-28 14:16:02 · 8531 阅读 · 5 评论 -
Java程序员从笨鸟到菜鸟之(五十九)细谈Hibernate(十)hibernate查询排序和组件映射
上一篇:细谈Hibernate(九)hibernate一对一关系映射 在实际开发过程中,有很多用户需要时要把查询出来的结果进行排序显示,而不是在数据库里面那样顺序混乱那样的显示,这样的话我们不得不要对数据进行排序了,hibernate对数据排序提供了很好的支持,hibernate提供了两种对查询到得数据结果进行排序:1:数据库排序,也就是说在数据库内部就进行原创 2012-05-27 16:39:39 · 8833 阅读 · 5 评论 -
Java程序员从笨鸟到菜鸟之(五十八)细谈Hibernate(九)hibernate一对一关系映射
一对一关系映射即为关系双方都含有对方一个引用,其实在生活中一对一关系也很常见,比如人和身份证,学生和学号等,都是一对一的关系映射,一对一映射分为单向的和双向的,没种关系映射又可以分为主键关联映射,唯一外键关联映射。一:主键关联映射一般一对一主键关联映射通过foreign主键生成器使用另外一个相关联的对象的标识符。通常和联合起来使用。一对一主键关联映射原理:让两个实体的主键一样,这样就不原创 2012-05-27 15:05:07 · 9024 阅读 · 3 评论 -
Java程序员从笨鸟到菜鸟之(五十七)细谈Hibernate(八)Hibernate集合Map关系映射
对于hibernate中,集合属性在Hibernate的映射文件中是非常常见的,也是非常重要的内容,理解和熟练掌握常用的集合属性则显得更为重要。在hibernate的配置文件中,例如每个人的考试成绩,就是典型的Map结构,每门功课对应一门成绩。或者更简单的集合属性,某个企业的部门,一个企业通常对应多个部门等。集合属性是现实生活中非常普遍的属性关系。集合属性大致有两种:第一种是单纯的集合属性,例如像原创 2012-05-26 17:30:30 · 9501 阅读 · 4 评论 -
Java程序员从笨鸟到菜鸟之(五十六)细谈Hibernate(七)Hibernate自身一对多和多对多关系映射
欢迎阅读本专题其他博客: 细谈Hibernate(十)hibernate查询排序和组件映射 细谈Hibernate(十一)hibernate复合主键映射原创 2012-05-26 11:04:23 · 9999 阅读 · 4 评论 -
Java程序员从笨鸟到菜鸟之(五十五)细谈Hibernate(六)Hibernate继承关系映射
在面向对象的程序领域中,类与类之间是有继承关系的,例如Java世界中只需要extends关键字就可以确定这两个类的父子关系,但是在关系数据库的世界 中,表与表之间没有任何关键字可以明确指明这两张表的父子关系,表与表是没有继承关系这样的说法的。为了将程序领域中的继承关系反映到数据 中,Hibernate为我们提供了3中方案:第一种方案:一个子类对应一张表。第二种方案:使用一张表表示所原创 2012-05-25 11:11:50 · 7639 阅读 · 5 评论 -
Java程序员从笨鸟到菜鸟之(五十四)细谈Hibernate(五)Hibernate一对多关系映射
前几篇系列博客: 细谈Hibernate(一)hibernate基本概念和体系结构 细谈Hibernate(二)开发第一个hibernate基本详解 细谈Hibernate(三)Hibernate常用API详解及源码分析原创 2012-05-20 17:45:02 · 20316 阅读 · 13 评论 -
Java程序员从笨鸟到菜鸟之(五十三)细谈Hibernate(四)Hibernate常用配置文件详解
初学hibernate的童鞋,刚开应该都有这种感觉,hibernate的配置文件好麻烦,还不如jdbc访问数据库呢,直接写代码,多方便,用hibernate还要写代码,还要写配置,太麻烦了。至少我刚开始学习的时候就是这么想的。配置文件确实有他枯燥的一面,但等你真正深入学习的时候,你就可以发现他枯燥的背后却藏着很多强大的功能,呵呵,让我说的这么玄乎,那就让我们一起来看看吧,让我们一起来见证一下这些配原创 2012-05-18 09:47:36 · 35656 阅读 · 15 评论 -
Java程序员从笨鸟到菜鸟之(五十二)细谈Hibernate(三)Hibernate常用API详解及源码分析
新接触一个框架的目的就是想利用这个框架来为我们做一些工作,或者是让他来简化我们的工作,利用这个框架无非就是要利用这个框架所给我们提供的API去操作我们的数据,所以利用一个框架的好坏很大一部分取决于你对这个框架API的理解程度,所以在此篇博客中我们就一起来看一下Hibernate 的API和配置文件的相信情况。下面我们一一来看一下:一:使用SchemaExport自动创建数据库表原创 2012-05-17 09:36:05 · 19068 阅读 · 17 评论 -
Java程序员从笨鸟到菜鸟之(五十一)细谈Hibernate(二)开发第一个hibernate基本详解
在上篇博客中,我们介绍了《hibernate基本概念和体系结构》,也对hibernate框架有了一个初步的了解,本文我将向大家简单介绍Hibernate的核心API调用库,并讲解一下它的基本配置。核心API的底层实现和源码解析将在以后的博客中一一为大家讲解。首先我们一起来看一下开发一个hibernate应用程序的大体流程是什么样的(流程顺序可以颠倒):•创建Hibernate的配置文件原创 2012-05-12 10:47:25 · 27793 阅读 · 29 评论 -
Java程序员从笨鸟到菜鸟之(五十)细谈Hibernate(一)hibernate基本概念和体系结构
数据库操作是当今传统应用软件不可缺少的一部分,几乎所用的应用性系统和交互性软件都离不开数据库的支持,所以对数据库数据库的操作也是一个必不可少的工作,在java的世界里,传统的数据库访问就是jdbc数据库访问,刚开始学习的时候应该还能满足我们的需求,但真正在实际应用中,其繁琐的操作,开发效率低效,代码冗余等不可避免的缺点也是大家有目共睹的,所以,一套高效简便的数据库访问框架在这种繁琐工作中诞生了,这原创 2012-05-11 10:37:42 · 16715 阅读 · 12 评论