В Spring Data метод JPA FindBy не работает, исключение «Не найдено свойство для типа». - PullRequest
0 голосов
/ 04 января 2019

Я новичок в Spring boot и JPA, я создал простой репозиторий JPA и пытался реализовать собственный метод findBy, но он всегда возвращает значение null, даже если я использую какое-либо фиктивное имя после findBy, которое не является свойством моего классаДоза не показывает никаких ошибок. Хотя методы findBy по умолчанию работают нормально.

package com.example.demo;

   import java.util.List;
   import org.springframework.beans.factory.annotation.Autowired;
   import org.springframework.stereotype.Service;

   @Service
   public class EmployeeService {

    // This is my service class.
    // Creating employee repository
    @Autowired
    EmployeeRepo er;

    // This is the method I want to implement
    public List<Employee> getByname(String name) {

        return er.findByName(name);
    }

}

//This is my Repository 

package com.example.demo;

import java.util.List;

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

public interface EmployeeRepo extends JpaRepository<Employee, Integer> {
        // Name is a property of Employee class
    public List<Employee> findByName(String name);
        // Dummy is not a property of Employee class
    public List<Employee> findByDummy(String name);


}

Должно выдавать ошибку для метода findByDummy, но это не дает.Рассматривает ли этот интерфейс как общий интерфейс и разрешает ли любое объявление.Для findByName это возвращает нуль.Он должен искать по имени, а для findByDummy он должен показывать ошибку.

Заранее спасибо.

1 Ответ

0 голосов
/ 04 января 2019

Вы забыли добавить аннотацию @Repository к своему репо:

@Repository
public interface EmployeeRepo extends JpaRepository<Employee, Integer> {
        // Name is a property of Employee class
    public List<Employee> findByName(String name);
        // Dummy is not a property of Employee class
    public List<Employee> findByDummy(String name);


}

Это должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...