Positional parameter are considered deprecated; use named parameters or JPA-style positional parame
2014-04-24 14:53
302 查看
hibernate 4.1之后对于HQL中查询参数的占位符做了改进,如果仍然用老式的占位符会有类似如下的告警信息:
[main] WARN [org.hibernate.hql.internal.ast.HqlSqlWalker] – [DEPRECATION] Encountered positional parameter near line 1,column 95. Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
从告警提示信息中可以看出,它建议用命名参数或者JPA占位符两中种方法来代替老的占位符查询方法。
比如老的占位符查询代码片段:
方法一:改成命名参数的方式:
方法二:改成JPA占位符的方式:
后面两种查询方法就不会有告警信息产生了。
[main] WARN [org.hibernate.hql.internal.ast.HqlSqlWalker] – [DEPRECATION] Encountered positional parameter near line 1,column 95. Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
从告警提示信息中可以看出,它建议用命名参数或者JPA占位符两中种方法来代替老的占位符查询方法。
比如老的占位符查询代码片段:
1 | String hql = "select t from Blog t where t.site=? " ; |
2 | Query query = getSession().createQuery(hql); |
3 | query.setParameter( 0 , "micmiu.com" ); |
1 | //命名参数的方式 |
2 | String hql2 = "select t from Blog t where t.site=:site " ; |
3 | Query query2 = getSession().createQuery(hql2); |
4 | query2.setParameter( "site" , "micmiu.com" ); |
1 | //JPA占位符方式 |
2 | String hql3 = "select t from Blog t where t.site=?0 " ; |
3 | Query query3 = getSession().createQuery(hql3); |
4 | query2.setParameter( "0" , "micmiu.com" ); |
相关文章推荐
- Andoid - 开发实例(4):简易在线聊天实现 (Client+Server)
- druid与dbutils集成示例
- 论这两年不断突破心理底线的互联网薪水by OfferCome&&从猎头角度推测,搜狗的买卖对于互联网格局和薪水的影响&&烧钱薪水反思
- LOL视角挂一枚
- iText
- 经济学数据
- C/C++字节对齐详解
- Javascript 异步加载详解
- ubuntu android installscript
- instancof 方法
- IOS崩溃错误总结
- ios开发之View属性hidden, opaque, alpha的区别
- 统一资源定位符——URL
- ASP.NET MVC 5– 使用Wijmo MVC 5模板1分钟创建应用
- thinkphp G方法的华丽升级
- MongoDB---主从集
- Qt 创建shared library,调用shared library
- nginx 负载均衡的五中不同配置方式
- java面向接口编程
- 计算机原理学习(6)-- x86-32 CPU和内存管理之分页管理