一,錯(cuò)誤:java.lang.ClassCastException: oracle.sql.BLOB
一般在存儲(chǔ)blob數(shù)據(jù)時(shí)首先要將java.sql.Blob類型轉(zhuǎn)為oracle.sql.BLOB再進(jìn)行寫入操作,在強(qiáng)制轉(zhuǎn)換時(shí)就會(huì)丟
java.lang.ClassCastException: oracle.sql.BLOB轉(zhuǎn)型錯(cuò)誤,形如:
SerializableBlob sb = (SerializableBlob) instance.getBlobData();
BLOB wrapblob = (BLOB) sb.getWrappedBlob();//此行丟出
主要原因少此行:session.refresh(instance, LockMode.UPGRADE);加鎖查詢出,這樣instance中存放的Blob數(shù)據(jù)就
是oracle.sql.BLOB類型的。
二,錯(cuò)誤:SQL Error: 1002, SQLState: 72000,ORA-01002: 提取違反順序 出現(xiàn)這樣的錯(cuò)誤一定是事務(wù)沒有控制好,用ssh
框架請(qǐng)檢查調(diào)用此功能的method是否在事務(wù)控制中,直接用hibernate操作是否有開事務(wù)。正確配置好事務(wù)就不會(huì)有
問題了。