Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java iBatis只生成6个参数(全部为空),其他时间生成9个参数_Java_Oracle_Ibatis_Out Parameters - Fatal编程技术网

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

Java iBatis只生成6个参数(全部为空),其他时间生成9个参数,java,oracle,ibatis,out-parameters,Java,Oracle,Ibatis,Out Parameters,我有一个很好的insert语句,它有9个参数,但出于某种原因,iBatis只为特定对象生成6个参数。对于所有其他情况,它会生成9,这是应该的。 是否所有参数都为空 空的,空的,空的,空的,空的,空的,空的,空的,空的,空的,空的,空的,空的 好: 参数:[[B@132b63e, [B@5ac911, [B@468066,xxxxxxxxxxxxxx,null,null,0,0,0] 挪威克朗: 参数:[null,null,null,null,null,null,null] 错误如您所料: 索引7


我有一个很好的insert语句,它有9个参数,但出于某种原因,iBatis只为特定对象生成6个参数。对于所有其他情况,它会生成9,这是应该的。
是否所有参数都为空

空的,空的,空的,空的,空的,空的,空的,空的,空的,空的,空的,空的,空的

好:

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

挪威克朗:

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

错误如您所料:

索引7处缺少输入或输出参数

INSERT 17 COLUMNS INTO SOME_TABLE VALUES ( #id#, #someObj.id#, #someOtherObj.id#, #aProperty#, #anotherProperty#, null, #yetAnotherProperty#, null, null, null, null, null, #prop1#, #prop2#, #prop3#, null, null) 将17列插入某些_表值中( #id#, #someObj.id#, #其他对象id#, #财产, #另一个属性#, 无效的 #yetAnotherProperty#, 无效的 无效的 无效的 无效的 无效的 #建议1#, #建议2#, #建议3#, 无效的 空) someObj和someOtherObj为空。另外,我的应用程序使用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)
在一些表值中插入17列(
#id#,
#someObj.id#,
无效的
#其他对象id#,
无效的
#财产,
#另一个属性#,
无效的
#yetAnotherProperty#,
无效的
无效的
无效的
无效的
无效的
#建议1#,
#建议2#,
#建议3#,
无效的
空)
您可以这样做:

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)
在一些表值中插入17列(
#id#,
#someObj.id#,
无效的
#其他对象id#,
无效的
#财产,
#另一个属性#,
无效的
#yetAnotherProperty#,
无效的
无效的
无效的
无效的
无效的
#建议1#,
#建议2#,
#建议3#,
无效的
空)

如果你能展示一些相关的代码和语句,那会很有帮助……我编辑了帖子并包含了查询。someObj(它是空的)可以吗.id是问题吗?不确定…但从逻辑上讲,
someObj.id
如果
someObj
为空,它应该会失败…好吧,我解决了没有初始化someObj的问题,现在它工作了。但我不理解iBatis的这种行为,它应该给我一个错误,但他宁愿不输入参数,尽管我是e希望他输入NULL,因为如果我有someObj.someObj.someObj.someObj…….someObj.id!我不想初始化整个路径。如果你能显示一些代码和相关语句,那会有帮助……我编辑了帖子并包含了查询。someObj(它是NULL)可以吗.id是问题吗?不确定…但从逻辑上讲,
someObj.id
如果
someObj
为空,它应该会失败…好吧,我解决了没有初始化someObj的问题,现在它工作了。但我不理解iBatis的这种行为,它应该给我一个错误,但他宁愿不输入参数,尽管我是e希望他输入NULL,因为如果我有someObj.someObj.someObj.someObj…….someObj.id!我不想初始化整个路径。