从网上查找一堆参考,要么语焉不详,要么不可行。自己鼓捣了一堆可以正常入库了。请看最后:
insert into CP_V_INFO" +
"(ID, "+
"PROJECT_ID, "+
……
"V_INFO, "+
……
"VERSION)values(?,?,?,?,?,?,?,?,?,?," +
"?,?,EMPTY_CLOB(),?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?," +
"?)";
this.cdcDao.executeSQL(sql, v7Info.getId(),
v7Info.getProjectId(),……
);
//先插入该数据,在该字段用 EMPTY_CLOB() 插入。
//然后 for update
String update_sql = "select V_INFO from CP_V_INFO where ID='"+v7Info.getId()+"' for update";
this.cdcDao.executeClobSQL(update_sql,"V_INFO",v7Info.getvInfoStr());
千辛万苦倒腾入库之后,同事说了一句“干嘛要改底层代码?”。啪啪啪一通悦耳的键盘声之后,改回原来的方式。该字段用 String 正常插入。结果是:正常入库了。、、、、、、、、、、泪奔!!!!
String sql = "insert into CP_V_INFO" +
"(ID, "+
……
"V_INFO, "+
……
"VERSION)values(?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?," +
"?)";
this.cdcDao.executeSQL(sql, v7Info.getId(),
……
v7Info.getvInfo(),//String类型
……
v7Info.getVersion());
/* ******** end **********/