hibernate性能优化

Hibernate是笔者使用了超过5年的优秀ORM框架,虽然说使用了5年,但笔者并没有把握说自己真正意义上的精通Hibernate。说道熟悉Hibernate还差不多,因为Hibernate用法和特性只要使用过或许都很简单,但是要做到发挥Hibernate最大限度的潜力,Hibernate优化,或者说Hibernate性能优化笔者仅仅是初窥门径而已。这里摘录一篇牛人对于Hibernate优化的文章,希望对自己以后的使用指引下方向吧 1. Hibernate优…

hibernate查询分析

解析Hibernate分页查询原理 http://developer.51cto.com  2009-06-11 14:40  robbin  hibernate.org  我要评论(1) 本文将对Hibernate分页和Hibernate查询的原理进行解析,详细说明在Hibernate中进行分页的操作过程。 Hibernate 可以实现分页查询,例如: 从第2万条开始取出100条记录 Query q = session.createQuery("from Cat as c"); q.setFirstResult(20000); q.setMaxResults(100); List l = q.li…

Hibernate连载二:Annotation注解AIP

作为JPA Provider中最强大的Hibernate通过Hibernate Annotation和Hibernate EntityManager库实施JPA。Hibernate EntityManager库是JPA的完整实现,它遵循的是JPA持久化特征,而Hibernate Annotation是除了标准化的JPA部分特定于Hibernate,它遵循自由化特征。Hibernate 从3.2开始,就开始兼容JPA。Hibernate3.2获得了Sun TCK的JPA(Java Persistence API) 兼容认证。2010年3月发布的Hibernate 3.5现在…

介绍Hibernate使用UserType–ClobStringType

这里介绍Hibernate使用UserType,UserType就是用户自定义类型,这里的类型指的是除了Hibernate定义的那些类型之外的用户自己定义的。   Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate使用UserType,包括介绍UserType就是用户自定义类型等方面。 1、建立数据库的时候最好建立一个跟业务逻辑完全没有关系的id,这样的好处就是以后当数据量大的时候可以容易的建立索引,而且当业务逻辑变化…

Hibernate中的query.setFirstResult(),query.setMaxResults();

一、query.scroll()和query.setFirstResult(),query.setMaxResults();这两种方法都可以取到一定范围内的数据,用来数据分页显示。那么两者区别,以及两者的效率如何? 答:1.scroll是用JDBC2.0的可滚动结果集实现;query.setMaxResults();query.setFirstResult()是数据库SQL语句实现。 2.你说是在数据库就分页好呢?还是把结果集都取到内存再分页好呢?(应该是在数据库就分了好些吧,但是如果在内存分…

hibernate.config.xml参数

hibernate有很多参数,通过合理配置这些参数,可以对提高Hibernate框架下对象的效率,从而实现对J2ee应用的优化。 这些参数如下:参数 用途 hibernate.dialect 一个Hibernate Dialect 类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 full.classname.of.Dialect hibernate.show_sql 输出所有SQL语句到控制台. 有一个另外的选择是把org.hibernate.SQL 这个log category设为debug 。 eg. tr…

hibernate里面使用带on条件的left join

针对信用卡Card的评分Score ,两者的关系是one-to-many. 现在需要查询没有评分过或者评分已经实效的那些卡片。在mysql下sql: select c.* from card c left join score s on s.card_id = c.id and s.invalid_date >=curdate() where s.id is null在hibernate中要使用left join必须声明关联映射,这里的关联是one-to-many, 在Card里面建一个Set scores,然后配置好 唯一特殊的就在于这个where,hql里面不…

Hibernate快速入门

Hibernate框架Hibernate框架Hibernate快速入门Hibernate基础语义Hibernate基础配置Hibernate O/R映射Hibernate数据关联Hibernate数据检索HQL实用技术Hibernate高级特性Hibernate快速入门OR映射问题一直是程序开发中最为复杂的问题,一直没有得到很好的解决目前已知的OR解决方案有:1、实体EJB,主要是指CMP方式的实体EJB2、JDO,Java Data Object试图解决EJB存在的问题3、TopLink,WebGain公司的产品…

Hibernate 本地SQL查询SQLQuery

Hibernate 本地SQL查询SQLQuery Posted on 2007-03-26 10:10 Derek.Guo 阅读(1656) 评论(1)  编辑  收藏 使用SQLQuery 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。最简单的情况下,我们可以采用以下形式: List cats  =  sess.createSQLQuery( " select * from cats " ).addEntity(Cat. class ).list(); 这个查询指定了: SQL查询字符串 查询…

Hibernate HQL SQL 使用分析select/update

项目中用到了Hibrenate,所以连接数据库查询的时候,会用HQL。 但也可以用sql语句直接查。 老司机说既然用了Hibernate,就用HQL,不要混着用啦。 我也想不出所以然反驳他,那就改吧~   今天我终于知道为什么项目中推荐用HQL了,因为查询数据库出来就直接能转换成类,用sql查的话,就是一个一个的object,并不能匹配到我们的类中。   这里列一下SQL 和对应但HQL,其实差不多的。 //查询数据表里的数据…

HTTP Status 500 – Hibernate operation: could not insert: [com.qm.entity.Img]; uncategorized SQLExcep

HTTP Status 500 - Hibernate operation: could not insert: [com.qm.entity.Img]; uncategorized SQLException for SQL [insert into qmdemo.img (imgsrc, name) values (?, ?)]; SQL state [HY000]; error code [1364]; Field ‘int’ doesn’t have a default value; nested exception is java.sql.SQLException: Field ‘int’ doesn’t have a default value http://jingyan.baidu.com/article/656db9…

hibernate的one-to-many中set的sort与order-by

從資料庫的觀點來看,Set、Map、Bag是無序的,而List是有序的,這邊所謂的無序或有序,是指將容器中物件儲存至資料庫時,是否依容器物件中的順序來儲存。然而從資料庫取得資料之後,您也許會希望Set、Map等容器中的物件可以依一定的順序來排列,您可以從兩個層次來容器中的物件排序,一是在載入資料後於JVM中排序,另一是在資料庫中直接使用order by子句來排序。以 Set 這篇文章中的範例來作說明,要…

hibernate中join fetch 与 join 的区别

如果HQL使用了连接,但是没有使用fetch关键字,则生成的SQL语句虽然有连接,但是并没有取连接表的数据,还是需要单独的sql取数据,也就是 select a,b,d...中没有连接表的字段如果集合被声明为lazy=true,在HQL中如果显式的使用 join fetch 则延迟加载失效。

从java中的hibernate看Ado.net 与NHibernate的关系(转载)

 看了许多人的文章,将Ado.net 与NHibernate看作类似的东西,频繁将两者进行比较。对于那些朋友的观点,我不认同!      我认为ado.net 和 nhibernate是完全不同层次的东西。 他们之间的关系有点类似于:封装了Win32 API调用的拖管对像与该Win32 API本身的关系。       我本人对NHibernate没有研究。只是听同事讨论过,对于NHibernate的性能优劣,框架的好坏,我不敢下结论。但这并不影响我对 NHiber…

hibernate纯sql查询结果集映射为DTO(VO,DO)

感谢glamey兄弟的文章,正好解决了当前遇到的问题。原文链接如下:[url]http://glamey.iteye.com/blog/721019[/url] 假设我们现在有一个DTO,其属性包括两张表的属性,我们现在需要将sql语句查询得到的内容转为一个DTO对象,其解决方法如下:String sql = "select u.userName as userName ,p.title as title ,p.addTime as addTime from user as u,post as p where u.id=p.userId" Query q = factory…
下一页 »