在HQL中可以使用表达式完成指定的运算或者作为限制查询结果的条件。如下表所示

|-----------------------------------------------------------|

|   类别                    |           运算符              |

|---------------------------|-------------------------------|

|逻辑运算符                 |or、and及not                   |

|---------------------------|-------------------------------|

|数学运算符                 |+、-、*、/                     |

|---------------------------|-------------------------------|

|                           |=、<>、!=、、<=、>=、like、|

|                           |not like、between、not between |

|比较运算符                 |in、not in、is null、          |

|                           |is not null、is empty、        |

|                           |is not empty、member of、      |

|                           |not member of                  |

|---------------------------|-------------------------------|

|字符串连接                 | ||                            |

|---------------------------|-------------------------------|

|分支选择                   |case及case...when...then...else|

|                           |....end                        |

|---------------------------|-------------------------------|

|集合运算                   |some、exists、all、any         |

|---------------------------|-------------------------------|

1、where子句

在HQL中使用where子句来限定查询条件,该子句后跟表示限定查询条件的表达式。如:

Query query = session.createQuery("from Guestbook where name = 'XXX'");

2、between子句

在HQL的where子句中使用between可以返回属性值在指定范围之内的记录。如:

Query query = session.createQuery("from Guestbook where id between 1 and 10");

3、not between子句

在HQL中的where子句使用not between可以返回属性值不在指定范围之内的记录。如:

Query query = session.createQuery("from Guestbook where id not between 1 and 10");

4、in子句

在HQL中的where子句使用in可以返回属性值在指定集合中的记录。如:

Query query = session.createQuery("from Guestbook where name in ('XXX','XXX')");

5、not in子句

在HQL中的where子句使用not in可以返回属性值不在指定集合中的记录。如:

Query query = session.createQuery("from Guestbook where name not in ('XXX','XXX')");

6、like子句

在HQL中的where子句使用like子句可以模糊查找属性值。"_"可以匹配一个字符,“%”可以匹配0个    多个字符。如:

Query query = session.createQuery("from Guestbook where name like 'X%'");

7、not like子句

在HQL中的where子句中使用not like子句可以模糊查询属性值的取非。如:

Query query = session.createQuery("from Guestbook where name not like 'X%'");

8、and子句

在HQL中的where子句中使用and表示查询条件之间与的关系。如:

Query query = session.createQuery("from Guestbook where name = 'XXX' and id<10");

9、or子句

在HQL中的where子句中使用or表示查询条件之间或的关系。如:

Query query = session.createQuery("from Guestbook where name='XX' or name = ’XXX‘");

10、not子句

在HQL中的where子句中使用not表示查询条件的非。如:

Query query = session.createQuery("from Guestbook where not(name='XXX')");

11、is null子句

在HQLwhere子句中,is null用来判断实体类的某些属性值是否为空。如:

Query query = session.createQuery("from Guestbook where email is null");

11、is not null子句

在HQLwhere子句中,is null用来判断实体类的某些属性值是否不为空。如:

Query query = session.createQuery("from Guestbook where email is not null");

hql 字符串where语句_Hibernate HQL基础 限定查询条件相关推荐

  1. hql 字符串where语句_Hibernate HQL查询语句总结

    1. 实体查询: 有关实体查询技术,其实我们在先前已经有多次涉及,比如下面的例子: String hql="from User user "; List list=session. ...

  2. Hibernate HQL基础 限定查询条件(这里面有各种条件查询)

    在HQL中可以使用表达式完成指定的运算或者作为限制查询结果的条件.如下表所示 |-----------------------------------------------------------| ...

  3. hql 字符串where语句_hibernate的hql查询语句总结

    4.3 使用HQL查询 Hibernate提供了异常强大的查询体系,使用Hibernate有多种查询方式.可以选择使用Hibernate的HQL查询,或者使用条件查询,甚至可以使用原生的SQL查询语句 ...

  4. hql删除mysql语句_hibernate -- HQL语句总结

    本章介绍了Hibernate的几种主要检索方式:HQL检索方式.QBC检索方式.SQL检索方式.HQL是Hibernate Query Language的缩写,是官方推荐的查询语言.QBC是Query ...

  5. hql删除mysql语句_hibernate hql删除异常

    hql语句:dao.executeHql("delete Student As s where s.course.teacher.tno"=tno); 错误信息:返回sql语句:d ...

  6. hql 字符串where语句_常用的HQL语句

    1.hql更新 String hql = "update PhUser set realName=?"; int row=this.getSession().createQuery ...

  7. 常用SQL语句和HQL语句写法

    1.左(右)外连接: select b.phone_no,a.pak_no from t_phone a left(right) join t_pak_used b on (a.phone_no=b. ...

  8. python中for循环语句格式_Python基础-10循环语句

    Python Python开发 Python语言 Python基础-10循环语句 10.循环语句 对于循环语句,Python仅提供了while和for两个,并未像其他编程语言一样提供for...eac ...

  9. JavaScript的分支语句—— IF语句 解释及基础应用方式;多分支语句switch

    JavaScript的分支语句-- IF语句 解释及基础应用方式 IF语句的写法 if(判断条件){ 判断为true的时候,执行的语句 }else{ 判断为false的时候执行的语句 } 例: var ...

最新文章

  1. bzoj 3262 陌上花开
  2. 算法 求和为n的连续正整数序列 C
  3. http在链接中加入用户名_爬虫基础——HTTP基本原理
  4. 社交电商风潮起,中小卖家何处去
  5. Vue 添加外部的时间插件不触发v-model事件更改数据
  6. logo是啥_乐夏2开播,33支乐队的Logo设计,凭啥一个塑料袋最火?
  7. Apache Cassandra和Apache Ignite:关系并置和分布式SQL
  8. 华为云域名注册_华为云域名专场钜惠,助推中小企业云速建站
  9. 「雕爷学编程」Arduino动手做(26)——4X4矩阵键盘模块
  10. [转]IIS的各种身份验证详细测试
  11. Json 和 Jsonlib 的使用
  12. 雷军穿上印度传统服装:网友以为《西游记》拍新版了 这画面感受下
  13. C# string补位
  14. Flex builder3 序列号生成器
  15. a中嵌套div的问题
  16. flashback drop(2015-2-3学习日记)
  17. cad通过钢筋大样生成钢筋明细表插件_为什么自动生成的钢筋明细表为空 - 应用技巧 - 常青藤软件工作室...
  18. web渗透中bypass防护系统
  19. AUTOCAD——标注关联
  20. 【WiFi】wifi信道

热门文章

  1. 【Antlr】Antlr语法设计
  2. flink 1.8编译:flink-fs-hadoop-shaded找不到
  3. mac下编译hadoop-2.7.4
  4. eclipse下生成Java类图和时序图,生成UML图
  5. SimpleDateFormat格式化
  6. java resouce_深入了解 Java Resource Spring Resource
  7. MySQL误删数据?快速恢复指南来了!
  8. Spring AOP中的前置通知和后置通知详解
  9. DockerFile : COPY 和 ADD 命令不能拷贝上下文之外的本地文件
  10. Servlet规范之Filter工作原理