User.java
val value = 283.8f
String.format("%.02f", value))
UserRepository.java
@Data
@RedisHash("User")
public class User {
private @Id Long id;
@Indexed
private String firstname;
@Indexed
private String lastname;
private Integer age;
public User() {}
public User(String firstname, String lastname, Integer age) {
super();
this.firstname = firstname;
this.lastname = lastname;
this.age = age;
}
}
RedisExampleApplication.java
public interface UserRepository extends QueryByExampleExecutor<User>, CrudRepository<User, String> {
}
错误:
@SpringBootApplication
public class RedisExampleApplication implements CommandLineRunner{
@Autowired
private UserRepository userRepository;
public static void main(String[] args) {
SpringApplication.run(RedisExampleApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
userRepository.deleteAll();
User skyler = userRepository.save(new User("Skyler", "Doe", 45));
User walter = userRepository.save(new User("Walter", "White", 50));
User flynn = userRepository.save(new User("Walter Jr. (Flynn)", "Kerr", 17));
userRepository.saveAll(Arrays.asList(skyler, walter, flynn));
long count = userRepository.count(Example.of(new User(null, "White", null)));
System.out.println("COUNT ? "+count);
Example<User> example = Example.of(flynn, matching().//
withIgnorePaths("firstname", "lastname"));
Optional<User> findOne = userRepository.findOne(example);
System.out.println("USER ? "+findOne);
}
}
答案 0 :(得分:0)
问题可能是由于:
Optional<User> findOne = userRepository.findOne(example);
您在这里使用的是findOne
方法,但是看来您得到的结果不止一个。因此,请使用find
方法或修改搜索条件以确保您获得单个结果。