Как добавить больше / меньше чем в фильтры Hibernate - PullRequest
1 голос
/ 27 июня 2009

Как вы можете добавить символы больше или меньше к условию в фильтре Hibernate, указанном в файле hbm.xml?

Я пытаюсь добавить фильтр для ограничения коллекции определенным диапазоном дат:

<filter name="limitTalksByDateRange" condition="talkstart >= :tstart and talkstart <= :tend" />

К сожалению, это нарушает синтаксический анализ XML. Я попытался избежать обратной косой черты, "ge" и "le" и даже "между: tstart и: тендер", который упоминается в документации Hibernate. Ни один из них не сработал, и я буду проклят, если смогу найти какую-либо документацию, в которой конкретно указаны действительные операторы в условии фильтра.

Ответы [ 2 ]

2 голосов
/ 27 июня 2009

Вы пробовали:

<filter name="limitTalksByDateRange" condition="talkstart &gt;= :tstart and talkstart &lt;= :tend" />

Обратите внимание на &gt; и &lt; вместо > и <.

Кроме того, примеров , которые я видел, не было ':' в предельных переменных, поэтому, возможно, это:

<filter name="limitTalksByDateRange" condition="talkstart &gt;= tstart and talkstart &lt;= tend" />

или это:

<filter name="limitTalksByDateRange" condition="talkstart BETWEEN tstart and tend" />

будет работать лучше.

0 голосов
/ 30 июня 2009

Я обнаружил, что это работает:

<filter name="limitTalksByDaterange" condition="talkstart &#62;= :tstart and talkstart &#60;= :tend" />

Я думаю, что коды #nn могут быть немного более надежными; Я видел & gt и & lt-брейк в определенных контекстах.

Я вообще не смог заставить промежуточную конструкцию работать.

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