当春天开始时没有Example一切都很好,但是有了Example时结果为空

应用程序

@SpringBootApplication
public class SelkinApplication {

    public static void main(String[] args) {
        SpringApplication.run(SelkinApplication.class, args);
    }
}


SvHistoryRep.java

public interface SvHistoryRep extends CrudRepository<SvHistory, Integer>, QueryByExampleExecutor<SvHistory> {

}


Service.java

    @PostMapping(path = "getFilteredHistory")
    public @ResponseBody void getFilteredHistory(@RequestBody SvHistory svHistory){

        SvHistory history = new SvHistory();
        history.setJobStatusId(1);
        Example<SvHistory> example = Example.of(history);
        svHistoryRep.findAll(example).forEach(System.out::println);

    }


如果没有Example,那就可以了。 svHistoryRep.findAll().forEach(System.out::println);

但是用Example,我有空结果

最佳答案

我的猜测:SvHistory具有一些用默认值初始化的值。因此,不仅在id列上进行相等检查。
要检查这一点,请记录您的示例对象。如果有任何非null值,并且它们不等于搜索到的对象,则将看到错误。原因很可能是自动初始化的原始类型,例如int,boolean等。

09-10 09:10