`
qingzuochen
  • 浏览: 271805 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HQL中各种方式的参数绑定

阅读更多
按参数名绑定参数:
Query q=session.createQuery("from Customer c where c.name=:cName"+"and c.age=:cAge");
q.setString("cName",name);
q.setInteger("cAge",age);


按参数位置绑定参数:
Query q=session.createQuery("from Customer c where c.name=?"+"and c.age=?");
q.setString(0,name);
q.setInteger(1,age);


关于特殊字符的处理:参数名绑定的时候,会在参数两边加上单引号
程序的可读性:使用参数名更清晰
使用参数名字方式的绑定,可以在一个HQL中多次重复使用相同的参数名字:
from Customer c where c.firstName like :name or c.lastName like :name

使用setEntity方法绑定对象类型的参数:
session.createQuery("from Order o where o.customer=:customer").setEntity("customer",customer).list();


使用setParameter方法绑定任意类型的参数:
Query q=session.createQuery("from Order o where o.customer=:customer"+"and o.orderNumber like :orderNumber");
q.setParameter("customer",customer,Hibernate.entity(Customer.class));
q.setParameter("orderNumber",orderNumber,Hibernate.STRING);


使用setProperties方法绑定参数:
String hql = "from User u where u.name=:name and u.age=:age and u.phone=:phone";
Query q= s.....();
Properties p = ...;
p.put("name","zhangsan");
p.put("age",22);
p.put("phone","12345");
q.setProperties(p);
分享到:
评论

相关推荐

    Hibernate HQL教程

    1.2.3 绑定参数 14 1.2.4 在映射文件配置HQL语句 15 1.3 HQL的嵌套子查询 15 1.3.1 嵌套子查询的概念 15 1.3.2 带有IN谓词的子查询 16 1.3.3 比较子查询 16 1.3.4 带有ANY或ALL的子查询 17 1.4 HQL的多表查询 17 ...

    HQL:Hibernate Qusery Language

    HQL :是面向对象的查询语言,同SQL有些相似是Hib中最常用的方式。 查询设定各种查询条件。 支持投影查询,检索出对象的部分属性。 支持分页查询,允许使用having和group by 提供内制的聚集函数,sum(),min(),max...

    Hibernate使用中防止SQL注入的几种方案

    Hibernate使用中防止SQL注入的几种方案 ...对参数名称进行绑定: Query query=session.createQuery(hql); query.setString(“name”,name);  2.对参数位置进行邦定: Query query=session.createQuery(hql);

    支持多数据库的ORM框架ef-orm.zip

    表结构元数据的API也向用户开放,同时支持在使用过程中,灵活调整映射关系,因此用户可以用API动态的创建表结构的模型,从而实现各种动态类型和表的映射(例如POJO中包含一个Map,用于映射各种动态扩展的字段)企业...

    Grails权威指南

     4.6.4 使用hql进行查询  4.6.5 按样本(example)查询  4.6.6 使用条件(criteria)查询  4.7 映射继承  4.8 验证领域(domain)模型  4.8.1 使用域约束(domainonstraints)  4.8.2 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     17.1.12 在HQL查询语句中绑定参数  17.1.13 设置查询附属事项  17.1.14 在映射文件中定义命名查询语句  17.1.15 在HQL查询语句中调用函数  17.2 设定查询条件  17.2.1 比较运算  17.2.2 范围运算  17.2.3 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     17.1.12 在HQL查询语句中绑定参数  17.1.13 设置查询附属事项  17.1.14 在映射文件中定义命名查询语句  17.1.15 在HQL查询语句中调用函数  17.2 设定查询条件  17.2.1 比较运算  17.2.2 范围运算  17.2.3 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     17.1.12 在HQL查询语句中绑定参数  17.1.13 设置查询附属事项  17.1.14 在映射文件中定义命名查询语句  17.1.15 在HQL查询语句中调用函数  17.2 设定查询条件  17.2.1 比较运算  17.2.2 范围运算  17.2.3 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     17.1.12 在HQL查询语句中绑定参数  17.1.13 设置查询附属事项  17.1.14 在映射文件中定义命名查询语句  17.1.15 在HQL查询语句中调用函数  17.2 设定查询条件  17.2.1 比较运算  17.2.2 范围运算  17.2.3 ...

    NHibernate in Action by Christian Bauer

    你将可以看到关于参数绑定,指定查询,多级查询和连接查询。我们同时也研究如何进行有效查询,如何过滤集合,使用原始的SQL而不是HQL,最后,本章还解释如何解决传统的性能问题,讨论n+1个查询问题和缓冲问题。 第...

    Hibernate教程

    绑定参数 11.4.1.5. 分页 11.4.1.6. 可滚动遍历(Scrollable iteration) 11.4.1.7. 外置命名查询(Externalizing named queries) 11.4.2. 过滤集合 11.4.3. 条件查询(Criteria queries) 11.4.4. 使用原生SQL的...

    Hibernate实战(第2版 中文高清版)

     5.3.6 参数化定制类型   5.3.7 映射枚举   5.4 小结   第6章 映射集合和实体关联   6.1 值类型的set、bag、list和map   6.1.1 选择集合接口   6.1.2 映射set   6.1.3 映射标识符bag   6.1.4 映射...

    Spring面试题

    Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 ☆ Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图...

    Hibernate+中文文档

    19.2. 各种缓存提供商对缓存并发策略的支持情况(Cache Concurrency Strategy Support) 20.1. Summary 20.2. SchemaExport命令行选项 20.3. SchemaExport 连接属性 20.4. SchemaUpdate命令行选项 20.5. ...

    Hibernate 中文 html 帮助文档

    绑定参数 10.4.1.5. 分页 10.4.1.6. 可滚动遍历(Scrollable iteration) 10.4.1.7. 外置命名查询(Externalizing named queries) 10.4.2. 过滤集合 10.4.3. 条件查询(Criteria queries) 10.4.4. 使用原生SQL的查询 ...

    Hibernate3+中文参考文档

    绑定参数 10.4.1.5. 分页 10.4.1.6. 可滚动遍历(Scrollable iteration) 10.4.1.7. 外置命名查询(Externalizing named queries) 10.4.2. 过滤集合 10.4.3. 条件查询(Criteria queries) 10.4.4. 使用原生SQL的查询 ...

    hibernate3.2中文文档(chm格式)

    19.2. 各种缓存提供商对缓存并发策略的支持情况(Cache Concurrency Strategy Support) 20.1. Summary 20.2. SchemaExport命令行选项 20.3. SchemaExport 连接属性 20.4. SchemaUpdate命令行选项 20.5. ...

Global site tag (gtag.js) - Google Analytics