Hibernate
文章平均质量分 80
_Cassie
这个作者很懒,什么都没留下…
展开
-
hibernate学习从XML入手
上篇博客简单介绍了构建Hibernate环境,但是还没有开始进入持久化设计阶段。这篇博客就开始hibernate的设计工作。 看hibernate原理图如下:hibernate的设计包含三步:实体类设计,实体类映射文件编写,hibernate配置文件编写。 一、实体类设计 以前的面向过程编程,和数据库打交道,我原创 2014-10-25 23:14:21 · 1360 阅读 · 15 评论 -
Hibernate的缓存策略 二
继上篇博客中hibernate缓存,我们继续说 查询缓存。三、查询缓存查询缓存,顾明思议它是查询的时候产生的缓冲,那么就要问了,刚刚在一级缓存,二级缓存中的load,get不一样是查询吗?那是什么样的查询呢?查询缓存是针对普通属性结果集的缓存,对实体对象的结果集只缓存id,这里的ID不是对象的真正ID,它与查询的条件 相关,即where后的条件相关,不同的查询条件,其缓存的id也不一样 。如wher原创 2015-08-31 23:26:46 · 951 阅读 · 2 评论 -
Hibernate查询方式知多少 一
Hibernate查询方式说到hibernate的查询方式,我们自然而然就想到了它——hql,hibernate query language.hql是使用hibernate框架的变成配朋友们使用最多的一种方式,它以自身的独特的优势:屏蔽数据库,书写灵活的优点,备受大家的青睐。但是Hibernate不仅给我们提供了这一种查询方式,这时候悠然要说来,是不只一种,还有sql,对,确实还有sql,但是还有原创 2015-08-30 21:13:15 · 802 阅读 · 1 评论 -
Hibernate的查询方式知多少 二
继上篇博客,我们继续说Hibernate的后边几个查询方式。四、DetachedCriteria这种查询叫做动态分离查询。即,业务和DAO实现分离的一种方式,查询条件是需求,千变万化,但是实现很简单,绑定条件后,只要使用一个list方法就发送了请求,所以我们可以把查询条件从实现的代码中分离出来。业务逻辑和访问数据库的实现分离,需要的时候,再结合,体现的是松耦合的思想。 看代码示例: // 底层实原创 2015-08-30 22:12:04 · 741 阅读 · 1 评论 -
hibernate抓取策略学习
一、hibernate抓取策略概述 Hibernate抓取策略(fetching strategy)是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略。抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL 或条件查询(Criteria Query)中重载声明。 需要注意的是:hibernate的抓原创 2015-02-27 22:14:30 · 4101 阅读 · 13 评论 -
hibernate的懒加载
一、lazy概述 在ORM中,当应用程序需要对关联关系的实体进行查询时,hibernate提供了一种查询加载方案——Lazy:延迟加载。当我们通过一个实体可以查询到引用的关联实体时,并不是马上就读取这个实体或者集合,而是在真正调用的时候才会发出查询语句,进行读取,这样可以提高系统的性能。 lazy策略使用范围: 标签上原创 2015-02-27 17:20:07 · 990 阅读 · 11 评论 -
hibernate映射关系——复合主键映射
由于中间做.Net项目,所以hibernate的博客更新就短篇了,现在让我们接着上篇hibernate的博客来继续hibernate的关系映射,这篇博客介绍的是复合主键映射。 一、复合主键 简单说一下什么是复合主键:在一个表中,一个字段不能唯一标识一行数据的时候,就需要两个及更多的字段来共同确定记录的唯一。这几个字段就是复合主键。 在没有ORM的概念时,原创 2015-01-27 21:50:05 · 818 阅读 · 6 评论 -
Hibernate映射关系-多对多
其实多对多就是两个一对多,它的配置没什么新奇的相对于一对多。在多对多的关系设计中,一般都会使用一个中间表将他们拆分成两个一对多。<set>标签中的"table"属性就是用于指定中间表的。中间表一般包含两个表的主键值,该表用于存储两表之间的关系。由于被拆成了两个一对多,中间表是多方,它是使用外键关联的,<key>是用于指定外键的,用于从中间表取出相应的数据。中间表每一行数据只包含了两个关系表的主键,要获取与自己关联的对象集合,还需要取出由外键所获得的记录中的另一个主键值,由它到对应的表中取出数据,填充到集合中原创 2014-11-26 20:32:39 · 1365 阅读 · 11 评论 -
hibernate关系映射 一对一
接下来的这几篇博客说的是“实体关系映射”。一、关系 & 映射 我们先将关系映射,我们拆成“关系”和“映射”两部分。 关系:不陌生,在“程序员”的概念里最基本的就是表表之间的关系,类类之间的关系,这里要说的关系就这两种。一个系统中的任何一个实体都不是独立的,这就是我们类图中各个类之间的相互引用。类图间的关系表现在数据库中,就是表之间的的外键约束。这些关原创 2014-11-03 21:16:11 · 999 阅读 · 12 评论 -
Hibernate目录结构以及环境搭建
说这些目录是因为发现,刚接触hibernate,其实不仅是hibernate,我们每每接触新的东西,过程中遇到bug,就习惯性的“上网” ,搜啊,找啊的,要是没有网,就悲催了。那我们要怎么办呢?————API在手,轻松编程。大家看上边的目录,我们需要的东西基本全在里边了:除了API,还有映射文件,配置文件 的书写,都有模板供我们用,只是我们没有发现,还在网上苦寻。根据我最近开始使用API的点滴经验发现,我通过API查到的东西比网上来的印象深刻。希望对大家有帮助。原创 2014-10-13 22:20:41 · 4285 阅读 · 14 评论 -
Hibernate持久化生命周期——三态
通过前几篇博客的大概介绍,我们发现hibernate将业务实体持久化到数据库的工作原理的实现,是通过“映射xml”来衔接的。那么这个xml的由来是哪? 映射文件(hbm)合理的存在的前提就是“有与之对应的实体的存在”——业务实体。 今天这篇博客就来说说实体到数据库的过程,这是一个从代码到数据的持久化过程,就是hibernate实现ORM持久化的生命周期。原创 2014-10-27 14:08:08 · 2118 阅读 · 14 评论 -
Hibernate进化史-------Hibernate概述
一、Hibernate概述 什么是Hibernate呢?首先,Hibernate是数据持久层的一个轻量级框架,实现了ORMapping原理(Object Relational Mapping)。 在说hibernate之前,简单说一下什么是ORM。 ORMapping基本对应规则:(这是查到的一些资料,有些规则,还没有考究) 1:类原创 2014-10-08 22:33:59 · 3345 阅读 · 14 评论 -
hibernate映射关系 一对多&多对一
接着上篇博客继续今天的主题:一对多,和多对一的关系映射实现。之所以把这两个关系放在一起说,不考虑方向,一对多和多对一还有区别吗? 一对多 vs 多对一 相同点: 映射原理是一致的,都是在多的一端加入一个外键,指向一的一端 双向关联是一致的。 它们的区别在于维护的关系不同——即单向关联 多对一维护的原创 2014-11-10 22:18:15 · 1037 阅读 · 14 评论 -
Hibernate缓冲策略 一
一、hibernate为什么提供缓存?什么是缓存? 在内存里开辟一块空间把本来应该存在硬盘里面的数据,存在这个空间里面,将来,需要这块数据的时候直接在内存中获取。这个就可以简单理解为缓存。 Hibernate 是一个持久层框架,经常访问物理数据库,为了减低应用程序对物理数据源的访问频次,从而提高应用程序的运行性能。 缓存内的数据是对物理数据源中的数据的复制,应用程序在运行原创 2015-08-31 22:34:59 · 836 阅读 · 1 评论