Hibernate bug
Amennyiben van egy lekérdező képernyőnk, ahol meg lehet adni szűrési feltételeket, a lekérdezést dinamikusan összeállítva 2\^n lehetséges lekérdezés állhat elő, a szűrési mezők kitöltésének megfelelően (ha a feltételt csak akkor konkatenáljuk hozzá, ha ki van töltve). A Csak a tesztemen keresztül blog bejegyzése szerint ezt megoldhatjuk egy lekérdezéssel is, ahol rövidzár kiértékelést használunk. Azaz minden mezőnél a lekérdezésbe beleírjuk a következő feltételt:
(:param IS NULL OR alias.someField = :param)
A probléma ebben az, hogy Hibernate 3.3.2 és Oracle adatbázis esetén van egy bug, amely miatt null érték esetén elszáll a következő hibával:
“ORA-00932: inconsistent datatypes: expected NUMBER got BINARY”
Megoldás, hogy null esetén “” String-et adunk át.