Open
Description
Julien Adam created an issue — 21st July 2010, 9:36:40:
I have a mapping file with a property similar to this, mapping to an IDictionary property :
<map name="Records" table="TPROD_HISTO" sort="unsorted" where="HISTO_DATEVAL >= SYSDATE-60" fetch="join"> <key column="HIST_ID" /> <index column="HISTO_DATEVAL" type="DateTime"/> <one-to-many class="MyObject, MyAssembly"/> </map>Using the Oracle9i dialect, the SQL that is produced by a simple select all criteria query is invalid and looks like this :
WHERE records2_.HISTO_DATEVAL (+)>(+)= SYSDATE-60Somehow the where clause was modified with join operators.
I poked around a bit and it looks like it comes from the OracleJoinFragment.AddLeftOuterJoinCondition method.
Using the Oracle10g dialect, the SQL is correct and works properly, because it uses ANSI joins and thus bypasses the problem altogether.
Sorry I can't upload the files directly, I'd have to redact them first.