首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用spring-data-couchbase和@Query从文档返回布尔值

如何使用spring-data-couchbase和@Query从文档返回布尔值
EN

Stack Overflow用户
提问于 2021-03-03 20:43:51
回答 1查看 47关注 0票数 1

我使用的是spring-data-couchbase 4.1.1。我想在我的存储库方法中添加一个方法,如下所示

代码语言:javascript
复制
public interface DomainRepository extends CouchbaseRepository<Domain, String> {

@Query(("SELECT isActive from #{#n1ql.bucket}  "
      + "WHERE META().id = " + "\"#{#id}\" "))
Boolean isActive(@Param("id") String id);

}

但它将域的ClassCastException抛出为布尔值,我认为这是可以接受的。

有没有其他简单的方法呢?我相信在旧版本的couchbaseTemplate中有一个findByN1QlProjection,但在这个版本中找不到它。但是我不想直接使用couchbasetemplate或者couchbase sdk的子文档apis。

一个类似的老问题How to fetch a field from document using n1ql with spring-data-couchbase

EN

回答 1

Stack Overflow用户

发布于 2021-03-04 17:49:13

一种建议的解决方案是专门为需要的字段定义DTO及其存储库。

代码语言:javascript
复制
class IsActiveDTO {

private isActive;

// constructor, getters, and setters
}

并定义它的存储库

代码语言:javascript
复制
public interface IsActiveDTORepository extends CouchbaseRepository<IsActiveDTO, String> {

@Query(("SELECT isActive from #{#n1ql.bucket}  "
      + "WHERE META().id = " + "\"#{#id}\" "))
IsActiveDTO isActive(@Param("id") String id);

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66457348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档