使用DB2方言的Hibernate标准生成以下SQL
IN
子句中的复合键,但DB2回答查询不正确:
select * from tableA where (x, y) IN ( ( 'x1', y1) )
但是,DB2抛出了这个:
SQL0104N An unexpected token "," was found following ", y) in (
('x1'". Expected tokens may include: "+". SQLSTATE=42601
答案 0 :(得分:1)
正确的语法是
从tableA中选择*其中(x,y)IN( VALUES ('x1',y1))
请注意,您只指定VALUES子句一次,因此可以使用
获得多行结果从tableA中选择*其中(x,y)IN( VALUES ('x1',y1),('x2',y2))
不知道如何让Hibernate这样做。