原因:传入参数为sb.toString(),customerId,creditors creditors没有拼接
/**
* 条件查询;使用sql
* @param sql
* @param args
* @return
* @author zy 2013-5-25 下午03:46:39
*/
public List<Map<String,Object>> queryForList(String sql, Object... args) {
Assert.hasText(sql);
// 创建查询
Query query = getSession().createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
// 创建查询
if(null != args) {
for (int i = 0; i < args.length; i++) {
query.setParameter(i, args[i]);
}
}
return query.list();
}
解决:占位符传入两个参数,一个传入CustomerId,一个传入数组!
/**
* 条件查询;使用sql
* @param sql
* @param args
* @return
* @author zy 2013-5-25 下午03:46:39
*/
public List<Map<String,Object>> queryForList1(String sql, Object Object1,Object[] Object2) {
Assert.hasText(sql);
// 创建查询
Query query = getSession().createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
// 创建查询
query.setParameter(0, Object1);
if(null != Object2) {
query.setParameterList("ids", Object2);
}
return query.list();
}
/**
* 条件查询;使用sql
* @param sql
* @param args
* @return
* @author zy 2013-5-25 下午03:46:39
*/
public List<Map<String,Object>> queryForList(String sql, Object... args) {
Assert.hasText(sql);
// 创建查询
Query query = getSession().createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
// 创建查询
if(null != args) {
for (int i = 0; i < args.length; i++) {
query.setParameter(i, args[i]);
}
}
return query.list();
}
解决:占位符传入两个参数,一个传入CustomerId,一个传入数组!
/**
* 条件查询;使用sql
* @param sql
* @param args
* @return
* @author zy 2013-5-25 下午03:46:39
*/
public List<Map<String,Object>> queryForList1(String sql, Object Object1,Object[] Object2) {
Assert.hasText(sql);
// 创建查询
Query query = getSession().createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
// 创建查询
query.setParameter(0, Object1);
if(null != Object2) {
query.setParameterList("ids", Object2);
}
return query.list();
}