我在一个项目中使用Spring Data GemFire,并且我正在使用存储库从缓存中获取查询结果,如此处所述:https ://docs.spring.io/spring-gemfire/docs/1.3.3.RELEASE/reference/ html/gemfire-repositories.html
下面是我的存储库界面:
@Repository
@Region("someRegion")
public interface SomeRegionRepository extends GemfireRepository<CustomObject, Object> {
//Below works when id exists in gemfire region.
//But when id does not exists it
//gives java.lang.IllegalStateException: Unsupported query
@Query("select a.num from /someRegion a where a.id = $1")
Integer getNumById(String id);
//Below returns CustomObject instance when id exists in gemfire region.
//But when id does not exists it returns null (Expected)
CustomObject findById(String id);
}
当在 OQL 查询中找不到该键的数据时,有什么方法可以返回 0 或其他值?
或者,有什么方法可以获得一个null值,以便在没有数据时可以在调用者代码中处理它?
在此处指定的 OQL 中有一个称为NVL(允许返回其他值/表达式,以防第一个表达式计算为 null):https ://gemfire.docs.pivotal.io/97/geode/developing/query_select/the_select_statement.html 。但我无法获得如何使用它的正确语法。
肥皂起泡泡
相关分类