oracle + hibernate 环境,如果表中有 clob字段,则hibernate的Entity类,clob私有成员,首字母一定要按字母顺序排在最后,安全的做法是用 "zz"开头
原因是 hibernate 在生成insert语句时,会按私有成员来排序,生成类似 insert tableX (A,B,C...) values(?,?,?...) 的sql语句,而在最后提交阶段,如果insert语句中,clob后面的字段,除了SEQUENCE id外,不允许再有其它非clob型的字段,比如,A是clob字段,而B不是,则执行时会报错:
ORA-24816: 在实际的 LONG 或 LOB 列之后提供了扩展的非 LONG 绑定数据