Работа с в спящем режиме несколько Критериев с логическим И

Супер интересное обсуждение этого находится в co-создателе Unix Ken Thompson Премия Turing лекция.

Он начинается с:

то, Что я собираюсь описать, является одним из многих "курица и яйцо" проблемы, которые возникают, когда компиляторы записаны на их собственном языке. В этой простоте я буду использовать определенный пример от компилятора C.

и доходы, чтобы показать, как он записал версию компилятора C Unix, который будет всегда позволять ему входить в систему без пароля, потому что компилятор C распознал бы программу входа в систему и добавил бы в специальном коде.

второй шаблон нацелен на компилятор C. Заменяющим кодом является Этап I самовоспроизводящаяся программа, которая вставляет обоих Троянских коней в компилятор. Это требует фазы изучения как в примере Этапа II. Сначала мы компилируем измененный источник с нормальным компилятором C для создания двоичного файла с ошибками. Мы устанавливаем этот двоичный файл как чиновник C. Мы можем теперь удалить ошибки из источника компилятора, и новый двоичный файл повторно вставит ошибки каждый раз, когда это компилируется. Конечно, команда входа в систему останется с ошибками без трассировки в источнике где угодно.

6
задан black sensei 11 November 2009 в 16:16
поделиться

3 ответа

Поскольку вы «И» - объединяя все ваши ограничения, группировка не имеет значения, поэтому вы можете просто продолжить, как во втором примере, поскольку их разбиение на подгруппы ничего не даст, например,

.add(Restrictions.eq("referenceID", referenceId)).add(Restrictions.eq("verificationType", type)).add(Restrictions.eq("username", username))...

Вы действительно столкнулись с этой проблемой, когда вам нужно группируйте смешанные запросы «И» и «ИЛИ», если вы хотите сгруппировать несколько значений «ИЛИ», вы также можете добавить критерии к дизъюнкции

10
ответ дан 10 December 2019 в 00:40
поделиться

Добавление этих ограничений по отдельности создает между ними отношение «И». Этого достаточно для того, что вам нужно.

1
ответ дан 10 December 2019 в 00:40
поделиться

но теперь я не знаю, какой между ними используется логический оператор.

Хорошие ответы уже есть, но вы можете использовать свойство hibernate.show_sql , установить его в значение true, и вы сможете точно увидеть, какой sql ваш критерий производит.

0
ответ дан 10 December 2019 в 00:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: