Как использовать объекты критериев гибернации для нескольких и / или условий

Мне нужно создать ограничение критериев гибернации, которое соответствует 3 условиям. Проблема в том, что последнее условие фактически совпадает с условиями, использующими оператор AND.

Мое первое условие:

Criterion startInRange = Restrictions.between("expectedStartCanonicDate", 
                                               rangeStart, rangeEnd);

Мое второе условие:

Criterion endInRange = Restrictions.between("expectedCompletionCanonicDate", 
                                             rangeStart, rangeEnd);

МОЕМУ третьему условию необходимо И следующие два условия вместе:

criteria.add(Restrictions.le("expectedStartCanonicDate", rangeStart));
criteria.add(Restrictions.ge("expectedCompletionCanonicDate", rangeEnd));

Ограничение, которое я хочу сделать, - это условие1, или условие2, или условие3. Я нашел примеры, которые мне близки. Я могу использовать LogicalExpression для или первых двух условий вместе, однако я не уверен, как или 3 условия, особенно когда последнее условие действительно является двумя отдельными условиями » и ' вместе.

Есть мысли? Фред

13
задан theGamblerRises 13 January 2018 в 17:57
поделиться