I have this scenario: a table on DBMS Oracle 11 whit a column defined as CYR NVARCHAR2(255 CHAR) necessary to store cyrillic characters (ex š).
The classe and the interface defined as:
when finding with findByCyr("charšandother"); the object is returned, instead the findByCyrIgnoreCase("charšandother") returns null.
From the log I can see that with findByCyr binding is done with NVARCHAR:
o.h.type.descriptor.sql.BasicBinder binding parameter  as [NVARCHAR] - [charšandother]
When using findByCyrIgnoreCase binding is done with VARCHAR:
o.h.type.descriptor.sql.BasicBinder binding parameter  as [VARCHAR] - [charšandother]
By now the value in the database is lower case "charšandother", in other fields defined as VARCHAR2 everything works fine, the binding is done correctly and the object is returned by the IgnoreCase method.