If I call Criteria.setIgnoreCase(true); all columns and values are wrapped with UPPER, no matter wich type they have.
So for a datetime field I get some statement like:
select * from TABLE_X where UPPER(X_DATE) = UPPER('20070116 00:00:00')
which does not work correctly.
I now have a workaround setting ignore case for all Criterion objects seperately, but still I consider it as a bug, since the type of the column is known when the ignore case flag is evaluated in the build function of class SQLExpression.