RSS
热门关键字:  java  Ajax  JSP  JSF  Struts
当前位置 : 首页>Hibernate>列表

操纵持久化对象

来源:Java之道 作者: 时间:2007-10-18 点击:
对于get和load的根本区别,一句话,hibernate对于load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方法,hibernate一定要获取到真实的数据,否则返回null。
6.    Query接口:
Hibernate提供Query接口,它用来执行HQL语句。
6.1.    绑定参数
6.1.1.       使用 “?” 按参数位置绑定
通过Query接口执行HQL语句时,可以先设定查询参数,然后通过setXXX()方法来绑定参数。如下

Query query = session.createQuery("from User as u where u.age > ? and u.name like ?");
query.setInteger(0, 25);
query.setString(1, "%a%");
List list = query.list();

Hibernate提供了绑定各种类型的参数的方法,如参数为字符串类型,可调用setString(),如果参数为整数类型,可调用setInteger()方法,以此类推。这些setXXX()方法的第1个参数HQL查询语句中参数的位置,第2个参数代表HQL查询语句中参数的值。
6.1.2.       使用 “:” 后跟变量名来按命名参数绑定
可以使用命名参数来取代使用“?”设置参数的方法,这可以不用依照特定的顺序来设定参数值,如上例可改成:

Query query = session.createQuery("from User as u where u.age > :minAge and u.name like likeName");
query.setInteger("minAge", 25);
query.setString("likeName", "%a%");
List list = query.list();

使用命名参数方式的绑定方式有以下优势:
1)     

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
Google Adsense
相关文章