2011-03-10 105 views
0

我的應用程序有一個關於將參數映射初始化爲sql語句的例外情況。錯誤是:Ibatis參數初始化問題

Caused By: com.ibatis.common.jdbc.exception.NestedSQLException: 
--- The error occurred in /com/***/cusman/cusbilman/postpaid/main/product/data/ibatis/sqlMap/THSSqlMap.xml. 
--- The error occurred while applying a parameter map. 
--- Check the invoicing.invoice.ths.paymentInfoMap. 
--- Check the statement (query failed). 
--- Cause: java.sql.SQLException: ORA-00904: : invalid identifier 
     at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:201) 
     at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139) 
     at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567) 
     at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541) 
     at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118) 
     at org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(SqlMapClientTemplate.java:298) 
     at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:209) 
     at org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientTemplate.java:249) 
     at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:296) 

這些定義是完全互相持久的(java端和xml端我的意思)。

任何想法?

回答

0

我找到了。問題是,oracle沒有針對錯誤的堆棧跟蹤類型定義。我在select中使用了一個函數,但是我的db用戶沒有獲得授權來執行它,所以愚蠢的Oracle試圖運行它,函數名是一個列名。所以它找不到像這樣的列名。所以它隱藏了真正的問題...