Имя репозитория JPA при использовании проекций для выбора нескольких полей - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть класс Entity Employee

@Entity
@Table(name = "EMP_MASTER")
public class Employee {

    private Integer employeeNumber;
    private String empFirstName;
    private String empSecondName;
    private int age;
    private String empAddress;

//constructor with fields ();
//getters and setters, equals and hascode , toString();
}

Затем у меня есть интерфейс JPARepo. Чтобы выбрать идентификатор сотрудника и имя сотрудника, я использую прогнозы.

@Repository
public interface EmployeeRepository extends JpaRepository<Employee, Integer> {

    public List<EmpIdAndEmpNameOnly> find(); // ? nothing is works here.

}

interface EmpIdAndEmpNameOnly {

    int getEmployeeNumber();

    String getEmpFirstName();
}

Я хочу получить все номер сотрудника и имя empfirstname. В этом случае, как будет называться мой метод репо? пробовал findEmployee (), findEmployeeNumberAndEmpName (), ничего не получалось. Кто-нибудь, пожалуйста, помогите мне узнать, как это работает? для меня это все время большая путаница. Спасибо.

1 Ответ

2 голосов
/ 24 апреля 2020

Простой findAllProjectedBy или findBy() должен быть в порядке,

public List<EmpIdAndEmpNameOnly> findAllProjectedBy();

В случае нескольких проекций

List<Projection1> findBy(Projection1.class);
List<Projection2> findBy(Projection2.class);
List<Projection3> findBy(Projection2.class);

Проверьте более подробную информацию о динамических c проекциях здесь

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