在沙发库中存储文档时,我通常使用前缀模式。例如,用户文档可能具有“user::myusername”之类的键,而订单文档可能具有“order::1”之类的键。
我是 spring-data 的新手,看不到一种方法可以轻松地使其与这些前缀一起工作。我可以在我的对象中指定一个字段,例如:
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 存储库
public interface UserLoginRepo extends CrudRepository<UserLogin, String> {
}
这是一个很好的解决方法,因为我可以:
...
userLoginRepo.save(login)
UserLogin login = userLoginRepo.findOne(UserLogin.dbPrefix + "someuser");
...
如果有某种方法可以让存储库在幕后自动使用前缀,那就太好了。