Hibernate HQL语句的参数设置

以hql举列:更多的查帮助

// 使用List为参数作为条件结果

List<Integer> lst = new ArrayList<Integer>();
lst.add(14);
lst.add(15);
lst.add(17);
String hql = "from Students s where s.SId in (:lst)";
Query q = session.createQuery(hql);
q.setParameterList("lst",lst);
// 以一个实类作为参数条件
hql = "from Students s where s.class=:class";
q.setEntity("class",session.get(Class.class,1));
// 根据给的参数匹配对应的类型Type hiberntae里的类
hql = "from Students s where s.SId=? or s.SName=?";
Query q = session.createQuery(hql);
q.setParameters(new Object [] { 14,"update" },new Type [] { new IntegerType(),new StringType() });

时间: 2024-09-26 22:47:12

Hibernate HQL语句的参数设置的相关文章

sql语句转hibernate hql语句

问题描述 sql语句转hibernate hql语句 sql语句为select * from (select location_idregion_codecounty_namecount(region_code) as countKKou from mon_location where longitude !=0.0 and region_code in ('370901') GROUP BY region_code) as teb LEFT JOIN mon_region as r on te

Hibernate HQL 语句

/**  *   */ package com.b510.example; import java.util.Iterator; import java.util.List; import java.util.Map; import org.hibernate.Query; import org.hibernate.Session; /**  *  * @author XHW  *  * @date 2011-6-18  *  */ public class HibernateTest {  /

Java Hibernate中使用HQL语句进行数据库查询的要点解析_java

一.实体对象查询 实体对象查询是hql查询的基础,作为一种对象查询语言,在查询操作时和sql不同,查询字符串中的内容要使用类名和类的属性名来代替.这种查询方法相对简单,只要有SQL功底,使用hql是很简单的,但是有一些问题需要注意,就是查询获取数据不是目的,需要考虑的是如何编写出高效的查询语句,这才是讨论的重点. 1.N+1问题 (1)什么是N+1问题在刚听到这个名词时疑惑可能是有的,以前根本就没有听过N+1问题,那么它是指什么呢?N+1指的是一张表中有N条数据,那么在获取这N条数据时会产生N+

怎样实现把第一条SQL语句的结果作为第二条SQL语句的参数

问题描述 第一条SQL语句selectMANAGERfromDepartmentwhereDEPT_IDin(selectDEPT_IDfrom[User]where[USER_ID]='lisi')第二条SQL语句select*fromDiarywhere[USER_ID]in('第一条SQL语句')----括号里是字符串 解决方案 解决方案二:写存储过程解决方案三:急.........解决方案四:怎么写存储过程啊求教解决方案五:select*fromDiarywhere[USER_ID]in

Hibernate 参数设置一览表

属性名 用途 hibernate.dialect 一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 full.classname.of.Dialect hibernate.show_sql 输出所有SQL语句到控制台. 有一个另外的选择是把org.hibernate.SQL这个log category设为debug. eg. true | false hibernate.format_sql 在log和console中打印出更漂亮的SQ

Java的Hibernate框架中用于操作数据库的HQL语句讲解_java

 上次我们一起学习了用Criteria进行相关的操作,但由于Criteria并不是Hibernate官方推荐的查询方式,我们也并不多用.现在我们来看一下官方推荐的HQL,一起学习一下它的强大.  说是HQL,也就是Hibernate查询语句,和SQL有什么区别呢?一个字母的区别,哈哈.  当然不是这样,HQL和SQL的区别在于思想的不同,HQL是用面向对象的方向进行查询,而SQL则是对数据库二维表进行查询,这里包含的是思想的不同.HQL实际上也是SQL,它由Hibernate帮我们在内部进行转换

hql语句-hibernate在执行HQL语句的疑问?

问题描述 hibernate在执行HQL语句的疑问? 求大神知道,我在执行hql语句查询几万条数据时没问题,但是查询10W条数据后,就查询不出来,也没有报错,求大神解答狭隘 解决方案 一次性查询完呢?还是分页查询?这种情况的原因可能是你的HQL语句数据源配置中的峰值问题,看看都给了多少 和你的业务符合吗?还有可能是你的程序中设置了瓶颈,是的10W之后的CPU为0,或者是CPU实在是不行了,卡主了,等等看多久出结果. 解决方案二: 您好,我是一次查询整张表,您说的峰值是指的哪些,我因为刚接触SSH

Control层使用Hibernate的HQL语句时必须占座赋值吗?为什么这样做啊

问题描述 就是比如在Action中有一个HQL语句: "FROM Table WHERE condition='xxx'"这样的语句必须换为:"FROM Table WHERE condition=?"然后再传参吗?这两种效果好像一样啊.当然我说的是WHERE之后参数为常用的数据类型.比如int.String如果有日期之类的话.就另说了希望详细解释一下. 对答案要求不高. 关键是解释的合理. 人云亦云的就算了 问题补充:suziwen 写道 解决方案 你可以试试 ,

hibernate hql 报错 用sql语句则正常运行

问题描述 在网上购买了一个jsp空间,之前的运行都是正常的,昨天改了改数据库就不能正常访问了.报错 SELECT command denied to user 'bjettccom'@'127.0.0.1' for table 'notice'数据库代码应该都是正确的后来发现hibernate的createQuerysess.createQuery("from Pics").list();的语句出问题,改成sess.createSQLQuery则正常,为什么? 问题补充:mercybl