![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hibernate
lijunlinlijunlin
这个作者很懒,什么都没留下…
展开
-
hibernate一级缓存和二级缓存的区别
缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。 缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问转载 2013-03-15 23:13:20 · 569 阅读 · 0 评论 -
Struts2+HIBERNATE实现分页
好久没写过什么东西了,最近自己在学习Java WEB方面的东西,自己想用JSP和 Struts2 HIBERNATE来写一个自己工作室的网站练练手,稍微有些收获今天写出来,与大家一起分享一下:STRUTS2+HIBERNATE实现分页是JAVA WEB最常用的东西了,我在网站上找了很多东西结果都没有很理想的。由于本人是新手所以写出来的代码质量有限。希望与大家一起进步,但是我从没有放弃过!我接触JA转载 2013-03-25 15:02:09 · 852 阅读 · 0 评论 -
hibernate持久化生命周期
持久化生命周期要掌握session的使用,首先要掌握持久化生命周期,一个持久化类的实例在持久化生命周期中会在不同的状态之间转变。Hibernate定义四种状态。(1)、瞬时状态(transient) 该实例是刚用new语句创建的,还没有被持久化,不处于任何session的缓存中。它没有对象标示符值(主键值)。 特点:不跟任何一个session实例关联转载 2013-04-21 17:40:58 · 482 阅读 · 0 评论 -
Hibernate缓存的理解
Session缓存,一级缓存.SessionFactory的缓存分为内置缓存和外置缓存.内置缓存中存放的是SessionFactory对象的一些集合属性包含的数据(映射元素据及预定义SQL语句等),对于应用程序来说,它是只读的.外置缓存中存放的是数据库数据的副本,其作用和一级缓存类似.二级缓存除了以内存作为存储介质外,还可以选用硬盘等外部存储设备.缓存的范围分为3类:转载 2013-05-06 15:33:25 · 611 阅读 · 0 评论 -
hibernate 二级缓存配置
hibernate 二级缓存配置 1.配置hbm.xml 在class节点下面添加 (读写) 或者 (只读) 如: ..... 2.配置spring文件 //打开hibernate二级缓存 hibernate.cache.use_sencond转载 2013-05-06 15:11:24 · 666 阅读 · 0 评论 -
Hibernate二级缓存详解
Hibernate二级缓存详解原文地址与Session相对的是,SessionFactory也提供了相应的缓存机制。SessionFactory缓存可以依据功能和目的的不同而划分为内置缓存和外置缓存。 SessionFactory的内置缓存中存放了映射元数据和预定义SQL语句,映射元数据是映射文件中数据的副本,而预定义SQL语句是在 Hibernate初始化阶段根据映射元数转载 2013-05-06 15:42:02 · 621 阅读 · 0 评论 -
hibernate4与hibernate3的区别
版本升级而已,其实内部都是ORM的映射封装,新版本做了优化在低版本上加强,尤其是二级缓存,和一级缓存,一级缓存是Session级别的,默认保存在Hibernate中的内存中,二级缓存是SessionFactory级别,一般常用不需要修改的例如城市这些我们可以放入二级缓存做预先加载,不需要长期改动,而且可以减少性能上的消耗,例如OScache等常用的二级缓存转载 2013-05-11 01:36:29 · 1900 阅读 · 0 评论 -
在Hibernate中调用存储过程的示范代码
如果底层数据库(如Oracle)支持存储过程,也可以通过存储过程来执行批量更新。存储过程直接在数据库中运行,速度更加快。在Oracle数据库中可以定义一个名为batchUpdateStudent()的存储过程,代码如下:create or replace procedure batchUpdateStudent(p_age in number) asbeginupdate STUD转载 2013-07-06 11:06:01 · 564 阅读 · 0 评论 -
hibernate多表关联配置
关联关系映射通常情况是最难配置正确的.我们从单向关系映射开始,然后考虑双向关系映射,逐步深入。单向关联(参考Hibernate Reference Documentation)一、多对一(many-to-one)单向 many-to-one 关联是最常见的单向关联关系。column="addressId"not-null="true"/>转载 2013-07-19 16:35:02 · 454 阅读 · 0 评论 -
Hibernate的锁机制
1.悲观锁它指的是对数据被外界修改持保守态度。假定任何时刻存取数据时,都可能有另一个客户也正在存取同一笔数据,为了保持数据被操作的一致性,于是对数据采取了数据库层次的锁定状态,依靠数据库提供的锁机制来实现。基于jdbc实现的数据库加锁如下:select * from account where name="Erica" for update在更新转载 2013-04-08 01:09:43 · 520 阅读 · 0 评论 -
Hibernate、Spring和Struts工作原理及使用理由
1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭SesstionFactory为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。2. Hibernate是一个基于JDBC的主流转载 2013-04-08 00:28:32 · 545 阅读 · 0 评论 -
Hibernate与 MyBatis的比较
第一章 Hibernate与MyBatisHibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。MyBatis 参考资料官网:http://www.mybatis.org/core/zh/index.html转载 2013-03-15 23:19:11 · 609 阅读 · 0 评论 -
Hibernate的缓存解读
缓存是介于物理数据源与应用程序之间,是对数据库中的数据复制一份临时放在内存中的容器,其作用是为了减少应用程序对物理数据源访问的次数,从而提高了应用的运行性能。Hibernate在进行读取数据的时候,根据缓存机制在相应的缓存中查询,如果在缓存中找到了需要的数据(我们把这称做“缓存命中"),则就直接把命中的数据作为结果加以利用,避免了大量发送SQL语句到数据库查询的性能损耗。Hibernate缓存转载 2013-04-04 15:16:09 · 452 阅读 · 0 评论 -
hibernate二级缓存攻略
很多人对二级缓存都不太了解,或者是有错误的认识,我一直想写一篇文章介绍一下hibernate的二级缓存的,今天终于忍不住了。我的经验主要来自hibernate2.1版本,基本原理和3.0、3.1是一样的,请原谅我的顽固不化。hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓转载 2013-04-04 12:50:36 · 518 阅读 · 0 评论 -
HIBERNATE的缓存机制
Hibernate缓存的作用: Hibernate是一个持久层框架,经常访问物理数据库,为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据Hibernate缓存分类: Hibernate缓存包括两大类:Hibernate一级缓存和Hibernate转载 2013-04-04 15:14:23 · 481 阅读 · 0 评论 -
Hibernate一级、二级缓存以及查询缓存的理解
一、一级缓存 一级缓存的生命周期和session的生命周期一致,当前sessioin一旦关闭,一级缓存就消失,因此一级缓存也叫session级的缓存或事务级缓存,一级缓存只存实体对象的 ,它不会缓存一般的对象属性(查询缓存可以),即当获得对象后,就将该对象的缓存起来,如果在同一session中如果再去获取这个对象时,它会先判断缓存中有没有该对象的ID,如果有就直接从缓存中取出,反之则去数转载 2013-04-04 18:22:29 · 607 阅读 · 0 评论 -
Hibernate工作原理
1.Hibernate 的初始化.读取Hibernate 的配置信息-〉创建Session Factory1)创建Configeration类的实例:它的构造方法:将配置信息(Hibernate config.xml)读入到内存。 一个Configeration 实例代表Hibernate 所有Java类到Sql数据库映射的集合。2)创建SessionFactory实例:把转载 2013-04-07 18:12:06 · 607 阅读 · 0 评论 -
Hibernate工作原理2
1.Hibernate是如何连接数据库 主要是通过hibernate.cfg.xml配置文件中的配置 在这个文件中定义了数据库进行连接所需要的信息,包括JDBC驱动、用户名、密码、数据库方言等,configuration类借助dom4j的XML解析器解析设置环境,然后使用这些环境属性来生成SessionFactory。这样这个sess转载 2013-04-07 18:49:52 · 830 阅读 · 0 评论 -
Hibernate延迟加载机制
延迟加载: 延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。下面我们就分别介绍这些种类的延迟加载的细节。A、实体对象的延迟加载:如果想对实体对象使用延迟加载,必须要在实体的映射配置文件中进行相转载 2013-04-07 19:07:57 · 574 阅读 · 0 评论 -
hql语句不能用于插入数据
使用HQL语句来完成插入操作是不能实现的,不管你使用insert into....values...还是insert into.....select.....都不行原因:因为Hibernate的HQL语言是用于面向对象实现查询功能的,然而在插入操作中是不会牵涉任何查询动作的,所以HQL不能用于insert语句的插入操作,而select、update、delete语句都可以有可能的查询实现,比如转载 2013-04-07 14:54:12 · 2785 阅读 · 0 评论 -
Hibernate事务与并发问题处理(乐观锁与悲观锁)
目录一、数据库事务的定义二、数据库事务并发可能带来的问题三、数据库事务隔离级别四、使用Hibernate设置数据库隔离级别五、使用悲观锁解决事务并发问题六、使用乐观锁解决事务并发问题 Hibernate事务与并发问题处理(乐观锁与悲观锁)一、数据库事务的定义 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的转载 2013-10-13 10:29:12 · 580 阅读 · 0 评论