Лучшее решение:
использовать параметры запроса, такие как
query = session.createQuery("from " + TestUser.class.getName() + " where
abool=:myboolean");
query.setBoolean( "myboolean", boolValue);
- лучшее преобразование типов для всех баз данных
- sql-инъекцияневозможно
- лучшая производительность из-за кэширования подготовленного состояния
Решение для огромной кодовой базы: Создайте свой собственный класс диалекта:
public class PostgreSQL9DialectParcIT
extends PostgreSQL9Dialect {
public String toBooleanValueString(boolean bool) {
return bool ? "1" : "0"; //$NON-NLS-1$//$NON-NLS-2$
}