Если я отлаживаю, я вижу, что строящаяся строка -
and ( property1 , property2 ) in ( values (0, 5) , (3, 4) )
но Hibernate считает, что лучше преобразовать его вот так
and (
(
tabAlias.COLUMN1 , tabAlias.COLUMN2
) in (
values
(0, 5) ,
)
)
Я не возражаю против дополнительного () Добавлен Hibernate, но я не понимаю, почему после (0, 5), он не появляется ( 3, 4) ?? Почему Hibernate пытается быть умным и все портит?
пс: я использую DB2 9
PS2: не говорите мне использовать критерий запроса, потому что я исправляю чей-то код, я не хочу переписывать все это.
PS3: я знаю, что это не портативно, но мне все равно.
Есть ли обходные пути? Я также не хочу использовать несколько предложений OR для имитации этого.