想知道如何在Vaadin" TableQuery"中设置过滤器。

时间:2015-07-20 14:05:50

标签: java data-binding filter database-connection vaadin

我在Vaadin中创建了一个数据库连接。在我构建了JDBCConnectionPool之后,我创建了一个类似这样的TableQuery:

equals()

然而,这非常成功,因为我能够获得适当的实体(查询返回整个表)。

问题是我想过滤此查询。我对有关此主题的文档感到非常失望。 TableQuery.setFilters()方法的javadoc指出,我们需要一个包含过滤器的List。

到目前为止我的方法:

            TableQuery tq = new TableQuery("STRING", pool, new OracleGenerator());

这没什么。它甚至不会引发异常。代码就像没有上面提到的块一样工作。

有没有人有一些意见?

1 个答案:

答案 0 :(得分:0)

抱歉,这很容易。我错了这个概念。你要过滤容器。

像这样:

            // tq is the TableQuery (see code snippet provided in the question)
            SQLContainer container = new SQLContainer(tq);
            container.addContainerFilter(new Equal("SURNAME", "SMITH"));

可以帮助别人避免这个“陷阱”; P