在我的 API 中,目前可以过滤数据库中存在的所有字段。
过滤在 API 项目的 FilterUtils.java 中实现。这会将 url 参数转换为 Apache Cayenne 搜索并将结果返回给资源。
在“主”项目中,为 com.foo.bar.auto 中的每个数据库表生成了类,这些类由 com.foo.bar 中的类扩展。com.foo.bar 中的类可以有自定义函数。一个例子是 Document.getAccount。
Document.getAccount 在 API 中公开,但无法过滤它,因为它不是数据库字段。我需要能够过滤像Document.getAccount
.
是否可以以某种方式在 Cayenne 中注册这些功能?
搜索自定义字段的语法需要与今天的过滤语法相同。因此,在搜索帐户时,它应该如下所示:Document?filter=account(EQ)1234
.
有任何想法吗?感谢所有帮助。