zoukankan      html  css  js  c++  java
  • Hibernate的HQL中in参数设置

    平时经常用Hibernate,由于习惯表间不建立关联,所以HQL查询时候经常要用in语句。

        我最常用的情况有2种:

       1、in后是个子查询,如 FROM A WHERE A.ID IN (SELECT B.AID FROM B WHERE ...),这样是没问题的,如果A.ID 和B.AID是相同的数据类型。

       2、in的参数如果已知了,可以直接拼接在后面 如FROM A WHERE A.ID IN (1,2,3,4...)。

       3、上面的情况下,通常(1,2,3,4...)都是作为参数传递过来的,可能是数组或者List。

        假设List<Integer> a;a里面已经有数据了,则HQL查询条件可以为:   

    String hql="FROM A WHERE A.ID IN (:alist)";  
    Query query = getSession().createQuery(hql);  
    query.setParameterList("alist", a);  
    

        另外,query.setParameterList中的第二个参数,还可以是数组类型,如int[] a,不要被方法名称迷惑。我也是最近刚学会的这种in参数设置

  • 相关阅读:
    webpack基本使用笔记
    gulp学习记录
    页面优化
    linux下使用indent整理代码
    C++中的getline()
    Sum of Two Integers
    TwoSum
    IDEA个人常用快捷键总结
    mysql数据库遇到的各种问题
    Python中*args 和**kwargs的用法和区别
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/7284058.html
Copyright © 2011-2022 走看看