正如標題所述,通過它的populate()方法將包含TINYINT(1)列的ResultSet提供給CachedRowSet會將該列中的值轉換爲值爲0的布爾值,對於上述任何值則爲true。這會失去原始值,並使該列的getInt()調用引發異常。Java 1.7 CachedRowSet.populate()將MySQL TINYINT(1)轉換爲布爾值。這可以禁用嗎?
可以禁用此行爲嗎? TINYINT(1)對硬編碼類型和狀態也非常有用。這是一個有1位數的數字,而不是數字,其中1是最大值。沒有理由把它當作布爾值,真的。
任何我可以做的,以實例化CachedRowSetImpl時禁用此?
你嘗試在[ANSI模式]運行MySQL(http://dev.mysql.com/doc/refman /5.0/en/server-sql-mode.html#sqlmode_ansi)? – 2012-07-05 23:01:50
我會試試看。感謝您的建議。 – 2012-07-05 23:32:57