---------源码开始
String qsql = "select m.firmid from (select br.firmid from br_firmandbroker br where br.brokerid = :brokerid) bf, m_firm m where m.firmid = bf.firmid and m.firmid = ?";
Map qmap = new HashMap();
qmap.put("brokerid", "603");
List list = getServiceBysql().findListBySql(qsql, new Object[]{"601000013"}, qmap);
query绑定代码
//:name绑定方式
if(map != null)
{
query.setProperties(map);
}
//?绑定方式
if(param != null)
{
for (int i = 0,length = param.length; i < length; i++) {
query.setParameter(i, param[i]);
}
}
-----------源码结束
以上代码参数绑定同时用到了:name和?, 现在的问题是, 如果以上sql没有用到子查询,那么是可以查询出来数据 , 用到子查询,如果:name绑定方式没有在子查询里面,也是可以查询出来数据,但是如果:name方式在子查询里面,那么就查询不出来数据.
有哪位大神知道, 麻烦指导一下 , 感激不尽