Критерии гибернации Составные ключи DB2 в предложении IN - PullRequest
0 голосов
/ 26 апреля 2010

Критерии гибернации, используя диалект DB2, генерируют следующий 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

1 Ответ

1 голос
/ 28 апреля 2010

Правильный синтаксис будет

выберите * из таблицы A, где (x, y) IN ( VALUES ('x1', y1))

Обратите внимание, что вы задаете предложение VALUES только один раз, поэтому результаты с несколькими строками можно получить с помощью

выберите * из таблицы A, где (x, y) IN ( VALUES ('x1', y1), ('x2', y2))

Однако не знаю, как заставить Hibernate сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...