java.sql.SQLException: Fail to convert to internal

ava.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: Fail to convert to internal representation
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:147)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:209)
    at oracle.jdbc.driver.CharCommonAccessor.getByte(CharCommonAccessor.java:209)
    at oracle.jdbc.driver.OracleResultSetImpl.getByte(OracleResultSetImpl.java:464)
    at com.alibaba.druid.pool.DruidPooledResultSet.getByte(DruidPooledResultSet.java:129)
    at org.springframework.jdbc.support.JdbcUtils.getResultSetValue(JdbcUtils.java:154)
    at org.springframework.jdbc.core.BeanPropertyRowMapper.getColumnValue(BeanPropertyRowMapper.java:311)
    at org.springframework.jdbc.core.BeanPropertyRowMapper.mapRow(BeanPropertyRowMapper.java:249)
    at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:93)
    at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:60)
    at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:460)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)java

 

看異常信息中的OracleResultSetImpl.getByte,此條堆棧信息是的描述的是數據庫查出的數據轉換爲 Byte 類型時失敗。spring

經檢查數據庫表結果中的字段類型及實體類中定義的數據類型。發如今實體類中的app_type 定義爲Varchar類型,而數據庫中對應的字段爲 byte 類型。所以致使數據庫在進行映射時發生異常。sql

問題處理步驟總結: 
一、經過異常信息查找對應的錯誤字段(好比此例中的getByte); 
二、逐一對照實體類Byte 類型和數據庫中該字段的類型。 
三、確認轉換關係是否對應,調整數據庫字段類型或實體類字段類型;數據庫

相關文章
相關標籤/搜索