如何添加大于/小于Hibernate过滤器

时间:2009-06-26 20:45:41

标签: java hibernate orm jpa filter

如何在hbm.xml文件中指定的Hibernate过滤器上添加大于或小于符号的条件?

我正在尝试添加过滤器以将集合限制为特定的日期范围:

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

不幸的是,这打破了XML解析。我已经尝试了反斜杠转义,“ge”和“le”甚至“介于:tstart和:tend”,这在Hibernate文档中提到过。没有用,如果我能找到任何特别描述过滤条件中有效运算符的文档,我会被诅咒。

2 个答案:

答案 0 :(得分:2)

你有没有尝试过:

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

请注意&gt;&lt;,而不是><

此外,我看到的examples在限制变量上没有“:”,所以也许这样:

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

或者这个:

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

会更好。

答案 1 :(得分:0)

我发现这有效:

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

我认为#nn代码可能更可靠;我已经看过&amp; gt和&amp; lt在某些情况下休息。

我根本无法使构造之间的工作完成。