java.sql.SQLException: ORA-24816: Expanded non LONG bind data supplied after actual LONG or LOB column
查询资料说:clob列对应的数据没有在sql的结尾导致的
# 这种insert语句在oracle中执行时,可能会出现一种情况,有时数据能插入进去,有时不能报错ORA-24816
insert into <table>(col,colClob1,cloClob2,col2) values(?,?,?);
# sql的执行为下面这种格式,clob类型列在语句的最后,就不会在出现这种错误
insert into <table>(col,col2,colClob1,cloClob2) values(?,?,?);
# 修改clob列
update (selelct ... from <table> where ...) set col1 = ?,col2 = ?,cloClob =?;
使用JPA的save方法插入数据,可以给clob列的属性加上javax.persistence.@Lob注解,在自动生成insert语句时,会自动把这种clob列放在最后面
文档地址:https://forums.oracle.com/ords/apexds/post/perform-update-without-triggering-ora-24816-3728