我需要根据ids
作为数组提供的 Oracle 数据库中的选定行,例如SELECT ... FROM table_name WHERE id IN()
查询。
在我尝试这样做时,我试图org.hibernate.setParameterList(String name, Object[] values)
在我的 DAO 中使用该方法,如下所示。
@Service
@Transactional(readOnly = true, propagation=Propagation.REQUIRES_NEW)
public final class ProductImageDAO implements ProductImageService {
@SuppressWarnings("unchecked")
public List<Object[]> getFileName(String[] list) {
return sessionFactory
.getCurrentSession()
.createQuery("SELECT prodImageId, prodImage FROM ProductImage WHERE prodImageId=:list")
.setParameterList("list", list).list();
}
}
String[]
给定方法中的类型参数由各自的 Spring 控制器类提供。
它会导致引发以下异常。
org.hibernate.hql.ast.QuerySyntaxException:意外令牌:,靠近第 1 行,第 78 列 [select prodImageId, prodImage from model.ProductImage where prodImageId=:id0_, :id1_, :id2_, :id3_, :id4_, :id5_]
ids
根据使用 Hibernate的列表检索所选行的方法是什么?