Spring boot 类型QueryByExampleExecutor<;中的方法findOne(示例<;S>;);联系方式>;不适用于参数(长)

Spring boot 类型QueryByExampleExecutor<;中的方法findOne(示例<;S>;);联系方式>;不适用于参数(长),spring-boot,spring-data-jpa,spring-data,Spring Boot,Spring Data Jpa,Spring Data,查找方法对我不起作用,但在其他项目中效果很好 import org.springframework.data.jpa.repository.JpaRepository; import com.example.demo.entities.Contact; public interface ContactRepository extends JpaRepository<Contact, Long>{ } 一些CRUD存储库方法在Spring数据和 public interface

查找方法对我不起作用,但在其他项目中效果很好

import org.springframework.data.jpa.repository.JpaRepository;

import com.example.demo.entities.Contact;

public interface ContactRepository extends JpaRepository<Contact, Long>{

}

一些CRUD存储库方法在Spring数据和

public interface CrudRepository<T, ID extends Serializable> extends Repository<T, ID> {
    T findOne(ID id);
public interface crudepository扩展存储库{
T findOne(ID);
是其中之一。现在你应该使用

public interface CrudRepository<T, ID> extends Repository<T, ID> {
    Optional<T> findById(ID id);
public interface crudepository扩展存储库{
可选的findById(ID);
有关重命名了哪些方法的更多信息,请参阅此博客

仍然有一个findOne方法,但这是来自

public interface QueryByExampleExecutor<T> {
    <S extends T> Optional<S> findOne(Example<S> example);
公共接口QueryByExampleExecutor{
可选findOne(示例);

这也是SimpleParepository的一个接口。这就是为什么您会出现错误,因为此方法等待一个示例作为参数。

您使用哪个版本的Spring Boot?如果是2.0.2,您应该使用findById方法,因为它被重命名。非常感谢!它帮助了我。
public interface QueryByExampleExecutor<T> {
    <S extends T> Optional<S> findOne(Example<S> example);