使用Hibernate进行“IN”查询

24 浏览
0 Comments

使用Hibernate进行“IN”查询

我有一个包含ID的字符串列表,想要使用Hibernate获取这些ID对应的行。`TrackedItem`是一个Hibernate/JPA实体(如果我在这里搞混了命名,对不起)。

我的代码是:

String idsText = "380, 382, 386";
ArrayList ids = new ArrayList();
for (String i : idsText.split(","))
{
    ids.add(Long.getLong(i));
}
List items = TrackedItem.find("id IN (?)", ids).fetch();

但是这个方法失败了:

JPAQueryException发生: 在models.TrackedItem中执行查询时出错,其中id IN (?):java.util.ArrayList无法转换为java.lang.Long

我该如何让`IN`这部分代码正常工作?谢谢。

0