S_a_k_Uの日記みたいなDB

~サクゥーと呼ばないで~

UnexpectedRollbackExceptionが発生する原因となる例外がthrowされない?catchできない?

本番稼動中の既存システムのテーブルを参照する箇所で発生した。
既存システムは、現時点では並行稼動用の”仮対応”の状態であり、本番稼動後の状態となっていない。
そのため、一部のテーブルのカラムが足りない状況となっており、そのテーブルの参照で発生した(通常SQLExceptionがthrowされる)。
Spring 2.0.5
SQLServer 2005
UnexpectedRollbackExceptionはExceptionとしてcatchし、ログで確認することができた。
しかし、Rollbackに至った原因となるSQLExceptionはどこにもthrowされていない?catchされていない?
ログには

【一部のテーブルのカラムが足りない状況でSQLを実行】

"2009-4-11 12:19:19.484","INFO","org.springframework.beans.factory.xml.XmlBeanDefinitionReader","Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]"
"2009-4-11 12:19:19.546","INFO","org.springframework.jdbc.support.SQLErrorCodesFactory","SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]"
org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only

【UnexpectedRollbackExceptionのStackTrace】

となっている。
本来、SQLServerよりJDBCドライバ経由でSQLExceptionがthrowされるハズだが…
SQLErrorCodesFactoryオブジェクトで、SQLErrorCodesに対する何かの処理で、例外をthrowしていない???
もしくは、UnexpectedRollbackExceptionが発生した段階で、SQLExceptionがcauseにセットされていない???