2010-04-26 80 views
0

休眠標準,使用DB2方言,生成以下SQL與IN子句中 複合鍵,但DB2的答案,該查詢是不正確的:休眠標準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

critera的調用如何,可能是錯誤嗎? – khmarbaise 2010-04-26 15:22:30

回答

1

正確的語法將

SELECT * FROM表A,其中(X,Y)的(個VALUES( 'X1',Y1))

注意您指定的值第一次,所以一個多行的結果可能與

SELECT * FROM表A,其中(X,Y)的(獲得VALUE('x1',y1),('x2',y2))

但是,不知道如何讓Hibernate做到這一點。