
hibernate
文章平均质量分 78
FG2006
这个作者很懒,什么都没留下…
展开
-
PO/POJO/BO/DTO/VO的区别
<br /><br />转自:http://www.blogjava.net/xiaodaoxiaodao/archive/2007/03/26/106522.html<br />PO :persistent object持久对象<br />1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。<br />2 .在hibernate持久化框架中与insert/delet操作密切相关。<br />3 .PO中不应该包含任何对数据库的操作。<br /> <br转载 2011-05-13 19:23:00 · 902 阅读 · 0 评论 -
hibernate的lazy策略使用总结
lazy策略可以使用在: * 标签上,可以取值:true/false * 标签上,可以取值:true/false需要类增强工具 * 标签上,可以取值:true/false/extra * 单端关联上,可以取值:false/proxy/noproxylazy概念:只有真正使用该对象时,才会创建,对于hibernate而言,正真使用时才会发出sql注意:hibernate支持lazy策略只有在session打开关态下有效标签上的lazy特性只对普通属性起作用,不会影响到集合上的lazy特性标签上转载 2011-05-23 11:19:00 · 973 阅读 · 0 评论 -
hibernate的lazy机制
如果想对实体对象使用延迟加载,必须要在实体的映射配置文件中进行相应的配置,如下所示: …… 通过将class的lazy属性设置为true,来开启实体的延迟加载特性。如果我们运行下面的代码: User user=(User)session.load(User.class,”1”);(1)System.out.println(user.getName());(2) 当运行到(1)处时,Hibernate并没有发起对数据的查询,如果我们此时通过一些调试工具(比如JBuilder2005的Debug工具)转载 2011-05-23 11:16:00 · 1005 阅读 · 0 评论 -
Hibernate二级缓存详解
<br />转自:http://myoraclex.blog.51cto.com/2288027/413175hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。 Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存。一级缓存转载 2011-05-20 16:41:00 · 1176 阅读 · 0 评论 -
hibernate的查询缓存机制
<br />原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yangfei520.blog.51cto.com/1041581/287380 在hibernate的使用中,大家多数时间都在讨论一级缓存和二级缓存,而往往忽略了查询缓存。其实hibernate的查询缓存在使用过程中也起着同样重要的作用。hibernate的查询缓存是主要是针对普通属性结果集的缓存, 而对于实体对象的结果集只缓存id。在一级缓存,二级缓存和查询缓存都打开的转载 2011-05-23 18:14:00 · 1007 阅读 · 0 评论 -
hibernate中的悲观锁和乐观锁
<br /> 转自:http://blog.youkuaiyun.com/xfans12000/archive/2007/03/02/1519699.aspx<br />锁(locking) <br />业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算 处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓转载 2011-05-23 17:11:00 · 766 阅读 · 0 评论 -
Hibernate中对象的三种状态及相互转化
<br /><br />Hibernate中的对象有三种状态: 瞬时状态 (Transient),持久状态 (Persistent),<br /> <br /> <br /> 1. 瞬时状态 (Transient)<br />当我们通过Java的new关键字来生成一个实体对象时,这时这个实体对象就处于自由状态,如下: Customer customer=new Customer(“zx”,27,images);这时customer对象就处于自由状态,为什么说customer对象处于自由状态呢?这是因为,此时转载 2011-05-21 15:36:00 · 29855 阅读 · 10 评论 -
Hibernate一级缓存详解
<br />转自:http://myoraclex.blog.51cto.com/2288027/413058<br />1.Session 级别的缓存,它同session邦定。它的生命周期和session相同。Session消毁,它也同时消毁;管理一级缓存,一级缓存无法取消,用两个方法管理,clear(),evict()2.两个session 不能共享一级缓存,因它会伴随session的生命周期的创建和消毁;<br />3.Session缓存是实体级别的缓存,就是只有在查询对象级别的时候才使用,如果使用H转载 2011-05-20 16:31:00 · 903 阅读 · 0 评论 -
hibernate中的Session.flush()
转自:http://www.blogjava.net/ywj-316/archive/2009/11/03/300930.htmlsession flush测试:session flush方法主要做了两件事:1 清理缓存2 执行sql(不是提交事务)session在什么情况下执行flush1 默认在事务提交时2 显式的调用flush3 在执行查询前,如:iteratehibernate按照save(insert),update,delete顺序提交相关的操作-------------------------转载 2011-05-21 21:20:00 · 2151 阅读 · 0 评论 -
hibernate中get与load的区别
<br />转自:http://www.cnblogs.com/gxinliug/archive/2011/04/26/2029788.html<br />load和get一共是2个区别 先讲第一个 延迟加载 <br />load是true而get是false<br />意 思就是 load采用的是延迟加载的方式 而get不是,hibernate思想是 既然这个方法支持延迟加载 他就认为这个对象一定在数据库存在,在你 声明 TFaq tfag2=(TFaq)sess.load(TFaq.class, 300转载 2011-05-21 19:53:00 · 989 阅读 · 0 评论 -
hibernate脏数据检查
<br />转自:http://hi.baidu.com/ekou/blog/item/3bc89a8053a06dd29023d930.html脏数据检查: 什么是脏数据?脏数据并不是废弃和无用的数据,而是状态前后发生变化的数据。我们看下面的代码:Transaction tx=session.beginTransaction();User user=(User)session.load(User.class,”1”);//从数据库中加载符合条件的数据user.setName(“zx”);//改变了us转载 2011-05-21 16:47:00 · 1605 阅读 · 1 评论 -
hibernate重要接口说明
<br />转自:http://www.blogjava.net/amigoxie/archive/2007/02/11/99343.htmlConfiguration接口:该对象用于配置并且根启动Hibernate。Hibernate应用通过Configuration实例来指定对象-关系映射文件的位置或动态配置Hibernate的属性,然后创建SessionFactory实例。SessionFactory接口:一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得转载 2011-05-21 15:12:00 · 1243 阅读 · 0 评论 -
Java 反射机制模拟hibernate实现持久化
<br />转自:http://blog.youkuaiyun.com/ljjlzx/archive/2009/07/29/4390628.aspx<br />hibernate 可以使我们轻松的进行数据库的操作,<br />传递一个查询语句(类似 "select id,name from userInfo"),hibernate 会自动的将符合条件的<br />对象封装的list里面,供我们调用,大大简化了我们的代码量。下面就以一段代码模仿hibernate<br />的实现。<br />代码片段一(一般的查询方法)转载 2011-05-20 22:04:00 · 3636 阅读 · 0 评论 -
hibernate 的lazy策略存在的问题
<br />转自:http://blog.sina.com.cn/s/blog_72061fd80100lovt.htmlhibernate的lazy策略是在检索时并不返回完整的类字段,以保证性能,当对具体对象进行实例化的时候,重新连接数据库来填充对象。这在应用初期常出现的问题就是总碰到session is closed的错误提示,其实很简单,hibernate对数据库的连接都是由它的session统一维持的,当一段程序完成后,session已经关闭,这时再进行实例化,就会出现以上错误,因此,需要重新建立一转载 2011-05-23 11:23:00 · 895 阅读 · 0 评论