如何在HQL查询中传递参数

7
以下是我的HQL查询:
 Query query = session.createQuery("select u from UserLog u where u.userLogSerialno = " + "(select max(uu.userLogSerialno) from UserLog uu where uu.userId = u.userId)");

这个查询工作得很好,但是我想传递userId的值,但我不知道该如何做到。 请您帮忙一下..!! 提前感谢..!!

3个回答

11

简单示例:

Integer id = 1;
Query query = session.createQuery("from Employee e where e.idEmployee=:id");
query.setParameter("id", id);

6

往HQL中添加参数非常简单

Query query = session.createQuery("select u from UserLog u where u.userLogSerialno = " + "(select max(uu.userLogSerialno) from UserLog uu where uu.userId = :userId)").setParameter("userId", 15);

这里我硬编码了15,你可以使用变量代替它。


2

NAMEDPARAMETER

String hql = "from com.baba.app.Model.Employee where mngId=:id or mngName=:name";
            Query q = ses.createQuery(hql);
            q.setParameter("id", 121);
            q.setParameter("name", "baba");

参数

String hql = "from com.baba.app.Model.Employee where mngId= ? or mngName= ?";
            Query q = ses.createQuery(hql);
            q.setParameter(0, 121);
            q.setParameter(1, "baba");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接