I'm new to mybatis and i'm facing the following error:
ORA-00911: invalid character
In mybatis I execute this query:
<select id="queryWithProblem"
parameterType="javaClass"
resultMap="javaMap">
SELECT DISTINCT TSV.SPLTSV_CDG_CARRIER_VUELO SPLTSV_CDG_CARRIER_VUELO,
TSV.SPLTSV_NMR_VUELO SPLTSV_NMR_VUELO,
TSV.SPLTSV_TMS_SALIDA_LOCAL SPLTSV_TMS_SALIDA_LOCAL,
TSV.SPLTSV_TMS_SALIDA_UTC SPLTSV_TMS_SALIDA_UTC,
TSV.SPLTSV_FCH_VUELO SPLTSV_FCH_VUELO
FROM SPLPSV PSV,
SPLTSV TSV
WHERE PSV.SPLSSV_SEQ_CDG = #{id, jdbcType=NUMERIC}
AND SPLPSV_FCH_INGRESO <![CDATA[ >= ]]> TRUNC(#{entranceDate,
jdbcType=DATE}, 'DD')
AND SPLPSV_FCH_INGRESO < TRUNC(#{entranceDate, jdbcType=DATE},
'DD') + 1
AND TRUNC(#{entranceDate, jdbcType=DATE}, 'DD') =
#{entranceDate, jdbcType=DATE}
AND TSV.SPLTSV_SEQ_CDG = PSV.SPLTSV_SEQ_CDG;
</select>
I have tried changing the wraping the where clause but i'm still getting the same error.
<select id="queryWithProblem"
parameterType="javaClass"
resultMap="javaMap">
SELECT DISTINCT TSV.SPLTSV_CDG_CARRIER_VUELO SPLTSV_CDG_CARRIER_VUELO,
TSV.SPLTSV_NMR_VUELO SPLTSV_NMR_VUELO,
TSV.SPLTSV_TMS_SALIDA_LOCAL SPLTSV_TMS_SALIDA_LOCAL,
TSV.SPLTSV_TMS_SALIDA_UTC SPLTSV_TMS_SALIDA_UTC,
TSV.SPLTSV_FCH_VUELO SPLTSV_FCH_VUELO
FROM SPLPSV PSV,
SPLTSV TSV
<![CDATA[
WHERE PSV.SPLSSV_SEQ_CDG = #{id, jdbcType=NUMERIC}
AND SPLPSV_FCH_INGRESO >= TRUNC(#{entranceDate, jdbcType=DATE}, 'DD')
AND SPLPSV_FCH_INGRESO < TRUNC(#{entranceDate, jdbcType=DATE}, 'DD') + 1
AND TRUNC(#{entranceDate, jdbcType=DATE}, 'DD') = #{entranceDate, jdbcType=DATE}
AND TSV.SPLTSV_SEQ_CDG = PSV.SPLTSV_SEQ_CDG;
]]>
</select>
When I run this query directly on oracle I have no problem.
[EDIT]
Problem solved by removing the ;
at the end of the query.