iBatis只生成6个参数(全部为null),其他时间生成9个参数




我有一个很好的插入语句,它有9个参数,但是由于某种原因iBatis只为一个特定对象生成6个参数。对于其他的,它生成9,这是应该的。
是不是所有的参数都是NULL ?

?,?,?,?,?, ?空,空,空,空,空,空,? ?,?空,空

OK:

参数:[[B@132b63e, [B@5ac911, [B@468066, xxxxxxxxxxxxxxxx, null, null, 0,0,0]

NOK:

参数:[null, null, null, null, null, null]

错误如你所料:

索引7缺少IN或OUT参数

INSERT 17 COLUMNS INTO SOME_TABLE VALUES#我#,# someObj.id #,# someOtherObj.id #,# aProperty #,# anotherProperty #,空,# yetAnotherProperty #,空,空,空,空,空,# prop1 #,# prop2 #,# prop3 #,空,null) 之前

someObj和someOtherObj为NULL。此外,我的应用程序使用cglib延迟加载,所以一些增强可能存在,不知道它是否影响的东西。

你可以这样做:

INSERT 17 COLUMNS INTO SOME_TABLE VALUES (
        #id#,
        <isNotNull property="someObj">
            #someObj.id#,
        </isNotNull>
        <isNull property="someObj">
            NULL,
        </isNull>
        <isNotNull property="someOtherObj">
            #someOtherObj.id#,
        </isNotNull>
        <isNull property="someObj">
            NULL,
        </isNull>
        #aProperty#,
        #anotherProperty#,
        null,
        #yetAnotherProperty#,
        null,
        null,
        null,
        null,
        null,
        #prop1#,
        #prop2#,
        #prop3#,
        null,
        null)

相关内容

  • 没有找到相关文章

最新更新