I use ibatis 2.3.4,and the database is oracle 9.2
when I config the sql in sqlmap look like the following:
<select id="getSingleForms" parameterClass="transfer2Form" resultMap="transfer2FormHeaderResult">
<![CDATA[
SELECT MTH.HEADER_ID,
MTH.REQUEST_NUMBER,
SINO_FAQ_PKG.GET_ETS_FLEX_VALUE(MTH.HEADER_STATUS,'SUB_TRANS_STATUS') STATUS_NAME,
MTH.CREATED_BY,
IUV.USER_NAME CREATED_USER,
TO_CHAR(MTH.CREATION_DATE, 'YYYY-MM-DD') CREATION_DATE,
MTH.COMMENTS,
MTH.FROM_IO_ID,
MIL.LOCATION_CODE FROM_COMPANY_NAME,
MTH.FROM_SUBINVENTORY_CODE,
MIL.LOCATION_DESC FROM_LOCATOR_DESC,
MTH.FROM_LOCATOR_ID
FROM MTL_TXN_REQUEST_HEADERS MTH,
IES_USER_ALL_V IUV,
MTL_ITEM_LOCATIONS_V MIL
WHERE IUV.USER_ID = MTH.CREATED_BY
AND MTH.FROM_IO_ID = MIL.ORGANIZATION_ID
AND MTH.FROM_SUBINVENTORY_CODE = MIL.SUBINVENTORY_CODE
AND MTH.FROM_LOCATOR_ID = MIL.LOCATION_ID
AND OUT_INV_TYPE = 0
AND (MTH.HEADER_ID = NVL(#headerId#, MTH.HEADER_ID))
]]>
</select>
the #headerId# is primary key in the table.
and i press in #headerId# = 768 and query,but the result return headerId is 763 not 768(the headerid shoud be 768,763 is the first row's headerid in the table) and the other columns's values are current. the result only has 1 row.
if i modify the sql in the sqlmap look like the following,the result is current.
<select id="getSingleForms" parameterClass="transfer2Form" resultMap="transfer2FormHeaderResult">
<![CDATA[
SELECT MTH.HEADER_ID,
MTH.REQUEST_NUMBER,
SINO_FAQ_PKG.GET_ETS_FLEX_VALUE(MTH.HEADER_STATUS,'SUB_TRANS_STATUS') STATUS_NAME,
MTH.CREATED_BY,
IUV.USER_NAME CREATED_USER,
TO_CHAR(MTH.CREATION_DATE, 'YYYY-MM-DD') CREATION_DATE,
MTH.COMMENTS,
MTH.FROM_IO_ID,
MIL.LOCATION_CODE FROM_COMPANY_NAME,
MTH.FROM_SUBINVENTORY_CODE,
MIL.LOCATION_DESC FROM_LOCATOR_DESC,
MTH.FROM_LOCATOR_ID
FROM MTL_TXN_REQUEST_HEADERS MTH,
IES_USER_ALL_V IUV,
MTL_ITEM_LOCATIONS_V MIL
WHERE IUV.USER_ID = MTH.CREATED_BY
AND MTH.FROM_IO_ID = MIL.ORGANIZATION_ID
AND MTH.FROM_SUBINVENTORY_CODE = MIL.SUBINVENTORY_CODE
AND MTH.FROM_LOCATOR_ID = MIL.LOCATION_ID
AND OUT_INV_TYPE = 0
AND MTH.HEADER_ID = #headerId#
]]>
</select>
is it a bug of ibatis?
when I config the sql in sqlmap look like the following:
<select id="getSingleForms" parameterClass="transfer2Form" resultMap="transfer2FormHeaderResult">
<![CDATA[
SELECT MTH.HEADER_ID,
MTH.REQUEST_NUMBER,
SINO_FAQ_PKG.GET_ETS_FLEX_VALUE(MTH.HEADER_STATUS,'SUB_TRANS_STATUS') STATUS_NAME,
MTH.CREATED_BY,
IUV.USER_NAME CREATED_USER,
TO_CHAR(MTH.CREATION_DATE, 'YYYY-MM-DD') CREATION_DATE,
MTH.COMMENTS,
MTH.FROM_IO_ID,
MIL.LOCATION_CODE FROM_COMPANY_NAME,
MTH.FROM_SUBINVENTORY_CODE,
MIL.LOCATION_DESC FROM_LOCATOR_DESC,
MTH.FROM_LOCATOR_ID
FROM MTL_TXN_REQUEST_HEADERS MTH,
IES_USER_ALL_V IUV,
MTL_ITEM_LOCATIONS_V MIL
WHERE IUV.USER_ID = MTH.CREATED_BY
AND MTH.FROM_IO_ID = MIL.ORGANIZATION_ID
AND MTH.FROM_SUBINVENTORY_CODE = MIL.SUBINVENTORY_CODE
AND MTH.FROM_LOCATOR_ID = MIL.LOCATION_ID
AND OUT_INV_TYPE = 0
AND (MTH.HEADER_ID = NVL(#headerId#, MTH.HEADER_ID))
]]>
</select>
the #headerId# is primary key in the table.
and i press in #headerId# = 768 and query,but the result return headerId is 763 not 768(the headerid shoud be 768,763 is the first row's headerid in the table) and the other columns's values are current. the result only has 1 row.
if i modify the sql in the sqlmap look like the following,the result is current.
<select id="getSingleForms" parameterClass="transfer2Form" resultMap="transfer2FormHeaderResult">
<![CDATA[
SELECT MTH.HEADER_ID,
MTH.REQUEST_NUMBER,
SINO_FAQ_PKG.GET_ETS_FLEX_VALUE(MTH.HEADER_STATUS,'SUB_TRANS_STATUS') STATUS_NAME,
MTH.CREATED_BY,
IUV.USER_NAME CREATED_USER,
TO_CHAR(MTH.CREATION_DATE, 'YYYY-MM-DD') CREATION_DATE,
MTH.COMMENTS,
MTH.FROM_IO_ID,
MIL.LOCATION_CODE FROM_COMPANY_NAME,
MTH.FROM_SUBINVENTORY_CODE,
MIL.LOCATION_DESC FROM_LOCATOR_DESC,
MTH.FROM_LOCATOR_ID
FROM MTL_TXN_REQUEST_HEADERS MTH,
IES_USER_ALL_V IUV,
MTL_ITEM_LOCATIONS_V MIL
WHERE IUV.USER_ID = MTH.CREATED_BY
AND MTH.FROM_IO_ID = MIL.ORGANIZATION_ID
AND MTH.FROM_SUBINVENTORY_CODE = MIL.SUBINVENTORY_CODE
AND MTH.FROM_LOCATOR_ID = MIL.LOCATION_ID
AND OUT_INV_TYPE = 0
AND MTH.HEADER_ID = #headerId#
]]>
</select>
is it a bug of ibatis?