hql怎么以参数的方式写in条件?
时间: 2024-05-07 20:02:08 浏览: 87
在HQL中,可以使用参数占位符(?)或命名参数(:name)来表示参数。对于IN条件,可以使用参数占位符或命名参数的方式来表示IN的值。具体示例如下:
1. 使用参数占位符
```
String hql = "FROM Entity WHERE id IN (?1, ?2, ?3)";
Query query = session.createQuery(hql);
query.setParameter(1, 1);
query.setParameter(2, 2);
query.setParameter(3, 3);
List<Entity> entities = query.list();
```
2. 使用命名参数
```
String hql = "FROM Entity WHERE id IN (:ids)";
Query query = session.createQuery(hql);
query.setParameterList("ids", new Integer[]{1, 2, 3});
List<Entity> entities = query.list();
```
注意,使用命名参数时,参数应该是一个集合类型,如上面的示例中使用了参数setParameterList()方法来设置集合参数。
阅读全文