Этот тип запроса не прост с более старым временем выполнения генератора. Вам нужно будет думать о вашем запросе немного по-другому, чтобы он работал. Например, с булевой алгеброй вы можете сказать, что ...
(a | b | c) & d & e
функционально эквивалентно
(a & d & e) | (b & d & e) | (c & d & e)
Запись, где условия со второй формой возможны со старой средой выполнения, но этодействительно ужасно.
Я бы посоветовал вам перейти на использование более новой среды выполнения MyBatis3DynamicSQL для генерации вашего кода. С помощью этой новой среды выполнения вы можете написать предложение where точно так, как вы хотите. Смотрите эти страницы для получения дополнительной информации о новой среде выполнения: