Ibatis调用时发生StackOverflowError
我的程序
public CompanyDO findCompany(String domain, Boolean isHz) {
Map params = new HashMap();
params.put("domain", domain);
params.put("isHz", isHz);
return (CompanyDO) getSqlMapClientTemplate().queryForObject(
"COMPANY.findCompany", params);
配置文件
<select id="findCompany" resultMap="CompanyResult">
select * from COMPANY c where c.domain = #domain:VARCHAR#
<isEqual property="isHz" compareValue="true">
and c.type='isHz'
</isEqual>
<isEqual property="isHz" compareValue="false">
and c.service_type not in ('isHz')
</isEqual>
</select>
在调用的时候突然发生了一次StackOverflowError
Exception : java.lang.StackOverflowError
at java.security.AccessController.doPrivileged(Native Method)
at java.io.PrintWriter.(PrintWriter.java:77)
at java.io.PrintWriter.(PrintWriter.java:61)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.elements.SqlTagContext.(SqlTagContext.java:42)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.process(DynamicSql.java:77)
at com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.getParameterMap(DynamicSql.java:61)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:156)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:561)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:536)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:93)
at org.springframework.orm.ibatis.SqlMapClientTemplate$1.doInSqlMapClient(SqlMapClientTemplate.java:239)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:189)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:237)
at com.xxx.xxx.xxx.company.dao.ibatis.BaseCompanyDaoImpl.findCompany(BaseCompanyDaoImpl.java:258)
后面就不可重现了,我想请问下什么时候可能发生这样的错误,谢谢大家