Java 如何在hibernate中为列表值使用:value?

Java 如何在hibernate中为列表值使用:value?,java,hibernate,Java,Hibernate,我知道我可以这样写: Query query = session.createSQLQuery( "select s.stock_code from stock s where s.stock_code = :stockCode") .setParameter("stockCode", "7277"); List result = query.list(); 如果我使用列表值,我必须怎么做 select count(*) from skill where skill.id in (1,2,4)

我知道我可以这样写:

Query query = session.createSQLQuery(
"select s.stock_code from stock s where s.stock_code = :stockCode")
.setParameter("stockCode", "7277");
List result = query.list();
如果我使用列表值,我必须怎么做

select count(*) from skill where skill.id in (1,2,4)

我想替换硬代码值。

您尝试过类似的方法吗

Query query = session.createSQLQuery(
"select s.stock_code from stock s where s.stock_code in (:stockCodes)")
.setParameter("stockCodes", "1,2,4");
它对你有用吗?

也许:

   Query query = session.createSQLQuery("select count(*) from skill where skill.id in :ids")
    .setParameter("ids", Arrays.asList(1,2,4));

查询界面具有
setParameterList(List)
函数,用于设置HQL中
子句中的
值。但是在HQL
in
子句中,设置元素有一个限制。如果超出限制,则会发生内存溢出异常

为什么不使用标准,任何限制??非常好的教程: