企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 10.4.1.4\. 绑定参数 接口`Query`提供了对命名参数(named parameters)、JDBC风格的`问号(?)`参数进行绑定的方法。 _不同于JDBC,Hibernate对参数从0开始计数。_ 命名参数(named parameters)在查询字符串中是形如`:name`的标识符。 命名参数(named parameters)的优点是: * 命名参数(named parameters)与其在查询串中出现的顺序无关 * 它们可在同一查询串中多次出现 * 它们本身是自我说明的 ``` //named parameter (preferred) Query q = sess.createQuery("from DomesticCat cat where cat.name = :name"); q.setString("name", "Fritz"); Iterator cats = q.iterate(); ``` ``` //positional parameter Query q = sess.createQuery("from DomesticCat cat where cat.name = ?"); q.setString(0, "Izi"); Iterator cats = q.iterate(); ``` ``` //named parameter list List names = new ArrayList(); names.add("Izi"); names.add("Fritz"); Query q = sess.createQuery("from DomesticCat cat where cat.name in (:namesList)"); q.setParameterList("namesList", names); List cats = q.list(); ```