首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring-data-couchbase存储库中文档的键前缀

spring-data-couchbase存储库中文档的键前缀
EN

Stack Overflow用户
提问于 2015-01-09 22:52:35
回答 1查看 469关注 0票数 1

在couchbase中存储文档时,我通常使用前缀模式。例如,一个用户文档可能有一个类似" user ::myusername“的键,而一个订单文档可能有一个" order ::1”键。

我是spring-data的新手,没有看到一种简单的方法可以让它使用这些前缀工作。我可以在对象中指定一个字段,如下所示:

代码语言:javascript
复制
public class UserLogin {
    public static final String dbPrefix = "user_login::";
    @Id
    private String id;
    private String username;


.
.
.
    public void setUsername(String username) {
        this.username = username;
        this.id = dbPrefix + this.username;
    }
}

并拥有一个Crud存储库

代码语言:javascript
复制
public interface UserLoginRepo extends CrudRepository<UserLogin, String> {

}

这是一种可行的解决办法,因为我可以:

代码语言:javascript
复制
...

userLoginRepo.save(login)

UserLogin login = userLoginRepo.findOne(UserLogin.dbPrefix + "someuser");

...

如果有某种方法可以让存储库在幕后自动使用前缀,那就太好了。

EN

回答 1

Stack Overflow用户

发布于 2015-03-22 12:03:47

不确定您在这里是否在问问题。Spring-data没有任何内置的机制来做你想做的事情。如果您将Spring-cache与couchbase一起使用,这是可能的,因为您可以使用如下命名模式注释您的缓存方法,例如,在spring cache中,您可以对持久性方法执行类似以下操作:

代码语言:javascript
复制
@Cacheable(value = "myCache", key = "'user_login::'+#id")
public UserLogin getUserLogin()

显然,这是Spring缓存,而不是spring数据,但是两者都在同一个库中受支持。

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

https://stackoverflow.com/questions/27863239

复制
相关文章

相似问题

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