关于hibernate混合使用占位符和命名参数
2014-10-17 16:45
393 查看
早期hibernate不支持jdbc风格的占位符和命名参数两种方式混合使用
但是新版本的hibernate是可以支持的,
@Test
public void testMixParameterMethod() {
//String hqlString ="from Org org where org.address = ? and org.code = ? ";
//String hqlString ="from Org org where org.address = :address and org.code in (:codes) ";
String hqlString ="from Org org where org.address = ? and org.code in (:codes) ";
Query queryObject = getSession().createQuery(hqlString);
queryObject.setParameter(0, "海淀"); //占位符方式
//queryObject.setParameter(1, 102);
//queryObject.setParameter("address", "海淀");
queryObject.setParameterList("codes", new Integer[]{102, 103, 104}); //命名参数方式
List<?> list = queryObject.list();
for (int i=0; i<list.size(); i++) {
Org org = (Org)list.get(i);
System.out.println(i + "---" + org.getId());
}
System.out.println("-----------------testMixParameterMethod ok------------------------");
}
本文出自 “robinc” 博客,请务必保留此出处http://robinc.blog.51cto.com/439699/1565211
但是新版本的hibernate是可以支持的,
@Test
public void testMixParameterMethod() {
//String hqlString ="from Org org where org.address = ? and org.code = ? ";
//String hqlString ="from Org org where org.address = :address and org.code in (:codes) ";
String hqlString ="from Org org where org.address = ? and org.code in (:codes) ";
Query queryObject = getSession().createQuery(hqlString);
queryObject.setParameter(0, "海淀"); //占位符方式
//queryObject.setParameter(1, 102);
//queryObject.setParameter("address", "海淀");
queryObject.setParameterList("codes", new Integer[]{102, 103, 104}); //命名参数方式
List<?> list = queryObject.list();
for (int i=0; i<list.size(); i++) {
Org org = (Org)list.get(i);
System.out.println(i + "---" + org.getId());
}
System.out.println("-----------------testMixParameterMethod ok------------------------");
}
本文出自 “robinc” 博客,请务必保留此出处http://robinc.blog.51cto.com/439699/1565211
相关文章推荐
- Hibernate HQL基础 使用参数占位符
- 关于Hibernate注解的使用(命名查询 本地查询)
- hibernate查询语句hql中的占位符?参数与命名参数:name设值方式搞混
- Hibernate HQL基础 使用参数占位符
- 关于pager-taglib参数和其他url参数混合使用问题。
- Hibernate中日期对比应该使用命名参数绑定
- 关于JDBC使用命名参数(named parameters)进行存储过程调用的问题
- HIbernate的参数使用说明
- 关于UpdateData()函数的使用,参数TURE和FALSE的使用
- 关于Hibernate在使用load方法时需要主要的
- 关于hibernate的缓存使用
- 关于hibernate的缓存使用
- HIbernate的参数使用说明
- 关于dotnet3.0,system.speech命名空间的使用。(英文)中文发音的官方解决方案。
- 关于hibernate的缓存使用
- 关于证书的命名以及颁发给使用通配符
- 使用OpenGL开发时Blend混合的参数选择技巧
- 关于控件、命名空间、参数(object sender,System.EventArgs e)
- spring与hibernate集成--关于配置文件的最优化使用
- 在PreparedStatement中使用命名参数