hibernate 混合参数绑定疑问

lelinked 发布于 2016/12/06 16:01
阅读 111
收藏 0

---------源码开始

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方式在子查询里面,那么就查询不出来数据.

有哪位大神知道, 麻烦指导一下 ,  感激不尽 


加载中
返回顶部
顶部