hibernate
iteye_10416
这个作者很懒,什么都没留下…
展开
-
hibernate n+1问题
Hibernate中常会用到set,bag等集合表示1对多的关系, 在获取实体的时候就能根据关系将关联的对象或者对象集取出, 还可以设定cacade进行关联更新和删除。这不得部说hibernate的orm做得很好,很贴近oo的使用习惯了。 但是对数据库访问还是必须考虑性能问题的, 在设定了1对多这种关系之后, 查询就会出现传说中的n+1问题。 1)1对多,在1方,查找得到了n个对象, 那么又需...2008-05-27 16:32:48 · 71 阅读 · 0 评论 -
Hibernate实体的equals和hashcode
讨论引发自这里: [url]http://www.iteye.com/topic/8946[/url] 以下是我自己的感触。 equals实际上是java判断两个对象是否相等的一个依据;而在set、map这样的存储位置与hashcode的集合中, hashcode起着计算位置的作用,同时又要满足一个约定:equals相等,则hashcode必然相等。 基于以上,hibernate实...2008-05-27 16:37:08 · 156 阅读 · 0 评论 -
query.setParameterList
突然发现Query.setParameterList原来是如此: 有两种参数的重载方式: [code="java"] /** * Bind multiple values to a named query parameter. The Hibernate type of the parameter is * first detected via the usage/position in...2008-05-27 17:08:06 · 794 阅读 · 0 评论 -
批量抓取和更新
当需要select、update、delete大量数据的时候,将操作一次执行将有效提高性能。可以想象成设置了一个缓冲区, 只有当缓存满了的时候才一次性执行,所以缓存越大,执行次数越少,速度越快。这个过程姑且叫作批处理。 想象一下批处理如何实现的,假设对于select、update、delete, 似乎都可以将同一个表的拼接where id=1 or id=2 ...来做。但insert呢?我...2008-05-27 17:58:20 · 131 阅读 · 0 评论 -
Hibernate Session各种状态转换方法分析
我的印象里, Hibernate session中常用的保存操作只有:save, update, saveOrUpdate,delete;还有其他很多操作没有用过:persist(), merge(), lock(), refresh(), evict(), replicate() ,有必要弄清楚这些方法分别是做什么, 实体对象的状态会发生什么变化? 先看看这些方法中,从javadoc的注释...2008-07-29 17:03:03 · 115 阅读 · 0 评论 -
hibernate的几种检索方式
转自[url]http://www.iteye.com/topic/14503[/url] 在hibernate开发过程中,查询是最多用到的。我们肯定会问自己一个问题: Hibernate的检索方式有很多,load/get检索,HQL(find,Query)检索,QBC(Criteria,QBE)检索以及本地数据库SQL检索. 那么,在实际应用中到底选择哪一种检索好?它们之间的检索有哪些...原创 2008-07-30 14:33:51 · 133 阅读 · 0 评论