考虑到其中一些参数可能为空,我如何使用 Objectify 4 通过几个参数正确过滤,这意味着我不想通过这些参数进行过滤?示例:请考虑我想过滤如下内容:
releases = ofy().load().type(Release.class)
.filter("user.name", searchCriteria.getName())
.filter("category", searchCriteria.getCategory())
.filter("city", searchCriteria.getCity()).list();
为了与我上面所说的相匹配,我现在有以下代码,每次我的哪些参数为空时检查,所以在这种情况下我不会将它们放在过滤器上:
if (!nameEmpty && !categoryEmpty && !cityEmpty) {
releases = ofy().load().type(Release.class)
.filter("user.name", searchCriteria.getName())
.filter("category", searchCriteria.getCategory())
.filter("city", searchCriteria.getCity()).list();
} else if (!nameEmpty && !categoryEmpty) {
releases = ofy().load().type(Release.class)
.filter("user.name", searchCriteria.getName())
.filter("category", searchCriteria.getCategory()).list();
} else if (!nameEmpty && !cityEmpty) {
releases = ofy().load().type(Release.class)
.filter("user.name", searchCriteria.getName())
.filter("city", searchCriteria.getCity()).list();
} else if ...
...
如何避免这种糟糕的过滤方式,并使用 Objectify 4 只用一行(或几行)实现它?