
oracle + hibernate 環境,如果表中有 clob字段,hibernate的Entity類,如果Column注解打在私有成員上,則clob私有成員,首字母一定要按字母順序排在最後,安全的做法是用 "zz"開頭
原因是 hibernate 在生成insert語句時,會按私有成員來排序,生成類似 insert tableX (A,B,C...) values(?,?,?...) 的sql語句,而在最後送出階段,insert語句中,clob後面的字段,除了SEQUENCE id外,不允許再有其它非clob型的字段,比如,A是clob字段,而B不是,則執行時會報錯:
ORA-24816: 在實際的 LONG 或 LOB 列之後提供了擴充的非 LONG 綁定資料
作者:菩提樹下的楊過