我在Vaadin中创建了一个数据库连接。在我构建了JDBCConnectionPool之后,我创建了一个类似这样的TableQuery:
equals()
然而,这非常成功,因为我能够获得适当的实体(查询返回整个表)。
问题是我想过滤此查询。我对有关此主题的文档感到非常失望。 TableQuery.setFilters()方法的javadoc指出,我们需要一个包含过滤器的List。
到目前为止我的方法:
TableQuery tq = new TableQuery("STRING", pool, new OracleGenerator());
这没什么。它甚至不会引发异常。代码就像没有上面提到的块一样工作。
有没有人有一些意见?
答案 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