Я обычно использую шаблон префикса при хранении документов в кушетке. Например, документ пользователя может иметь такой ключ, как «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");
...
Было бы очень хорошо, если бы был какой-то способ, чтобы репозиторий автоматически использовал префикс за кулисами.