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 + "]";
}
}
最佳答案
您的查找方法应如下所示:
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);
}
关于java - 我们可以使用 MongoRespository 进行 findByNameAndPassword() 这种类型的查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52605057/