Можем ли мы использовать MongoRespository для findByNameAndPassword () этого типа запросов? - PullRequest
0 голосов
/ 02 октября 2018
Optional<TicketUserDto> ticketuser=ticketUserDao.findByUserIdAndPassword(userId, password);

DAO:

@Repository
public interface TicketUsersDao extends MongoRepository<TicketUserDto, Serializable> {
    Optional<TicketUserDto> findByUserIdAndPassword(String userId, String password);
}

А вот определение DTO

@Document(collection="ticket_users") 
public class TicketUserDto { 
    private String userId; 
    private String password; 

    public String getUserId() { return userId; } 
    public void setUserId(String userId) { this.userId = userId; } 

    public String getPassword() { return password; } 
    public void setPassword(String password) { this.password = password; }

    @Override public String toString() { 
        return "TicketUserDto [userId=" + userId + 
            ", password=" + password + "]"; 
    } 
}

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

наконец я получаю, что я добавил @field, тогда я получаю значения

 @Field(value="userId")
private String userId;
@Field(value="password")
private String password;
0 голосов
/ 02 октября 2018

Ваш метод find должен выглядеть следующим образом:

Optional<TicketUserDto> findOptionalByUserIdAndPassword(String userId, String password);

Кроме того, ваш класс не объявляет первичный ключ.Чтобы это сработало, вы должны провести рефакторинг ваших классов следующим образом:

@Document(collection="ticket_users") 
public class TicketUserDto { 
    @Id
    private String userId; 
    /* the other code remains untouched */
}

@Repository
public interface TicketUsersDao extends MongoRepository<TicketUserDto, String> {
    Optional<TicketUserDto> findOptionalByUserIdAndPassword(String userId, String password);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...