如果我调试,我可以看到我正在构建的字符串是
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 试图变得聪明并把事情搞砸?
ps:我正在使用 DB2 9
ps2:不要告诉我使用条件查询因为我正在修复别人的代码,我不想全部重写。ps3:我知道这不是便携式的,但我不在乎。
任何解决方法?我也不想使用多个 OR 子句来模拟这一点。