Поведение обусловлено LiteralHandlingMode
, который имеет 3 настройки:
АВТО В запросах критериев используются параметры связывания для любого литерала, который не является числовым значением.Это поведение по умолчанию, если конфигурация не указана явно.
BIND Используется для увеличения вероятности кэширования операторов JDBC. Возможно, вы захотите использовать параметры связывания и для числовых значений.Режим BIND
будет использовать переменные связывания для любого литерального значения.
INLINE Режим будет вставлять буквенные значения как есть.Чтобы предотвратить внедрение SQL, никогда не используйте INLINE
со строковыми переменными.Всегда используйте константы в режиме INLINE
.
Чтобы настроить значение по умолчанию, соответственно установите hibernate.criteria.literal_handling_mode
.