hibernate中我该如何把数组放到hql中啊?
3个回答
展开全部
你是要将数组中的值写到hql中吗?
可以用循环拼接字符串和占位符插入进去
Object[] parameter = null;
StringBuffer hql1=new StringBuffer();
hql1.append("from BlogCategory ");
if(CId!=null){
length=CId.size();
parameter=new Object[length];
for(int a=0;a<length;a++){
if(CId.get(a)!=null){
if(a==0){
hql1.append("where CId in(?,");
parameter[a]=CId.get(a);
}
hql1.append("?,");
parameter[a]=CId.get(a);
if(a==length-1){
hql1.append("?)");
parameter[a]=CId.get(a);
}
}
}
}
String hql = hql1.toString();
return blogCategory_h.blogCategoryList(hql,parameter);
Session session = sessionFactory.openSession();
Query query = session.createQuery(hql);
if (parameter != null) {
for (int a = 0; a < parameter.length; a++) {
if (parameter[a] != null) {
query.setParameter(a, parameter[a]);
}
}
}
@SuppressWarnings("unchecked")
List<BlogCategory> blogCategoryList = query.list();
session.close();
return blogCategoryList;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询