java:hibernate + oracle之坑爹的clob

时间:2022-04-23
本文章向大家介绍java:hibernate + oracle之坑爹的clob,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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 绑定数据