春季启动-设置“用户名”变量时,JPA匹配器不起作用

时间:2019-11-19 03:36:07

标签: spring spring-boot jpa

我开始学习弹簧靴。我尝试了很多次,但都没有解决一个问题。 Users类具有用户名变量。我想检查用户名是否存在我们的数据库并抛出异常作为错误消息。

 ExampleMatcher matcher = ExampleMatcher.matchingAll()
            .withMatcher("username", exact())
            .withIgnorePaths("id");

    Example<Users> example = Example.of(users, matcher);
    List<Users> find =  usersRepository.findAll(example);

    System.out.println("Find users: "+find.size());

我在匹配器上设置了用户名变量。当我运行api并显示日志时。您可以在下面看到:

User payload: Users{id=0, firstName='Homer', lastName='Simpsons', username='bart.skate', email='homer.sleeper@gmail.com', password='@bcd1234'}
Find users: 0
User payload: Users{id=0, firstName='Homer', lastName='Simpsons', username='bart.skate', email='homer.simpsons@gmail.com', password='@bcd1234'}
Find users: 0

已创建第一个用户。所以我尝试再次使用相同的用户名创建新用户。找不到用户名。

我希望有人帮我解释一下。谢谢!

0 个答案:

没有答案