Почему мы должны использовать аннотацию @entity в классе отображения для вызова хранимой процедуры с помощью JPA? - PullRequest
0 голосов
/ 24 сентября 2018

В моем загрузочном проекте Spring я вызываю хранимую процедуру, которая возвращает набор результатов, используя операторы Select.Эти операторы Select возвращают вычисляемые поля, которые не привязаны ни к каким столбцам таблицы.

Я хотел отобразить набор результатов в класс, который не является сущностью, но похоже, что мы должны использовать аннотацию @entity и без нееотображение не будет работать.

Может ли объявление класса @entity вызвать нежелательные проблемы или это просто обязательная аннотация для JPA, даже если мы не хотим создавать таблицу из этой сущности?

Ниже приведен мой кодгде отображение работает правильно.

@NamedStoredProcedureQueries({
        @NamedStoredProcedureQuery(
                name = "SP_GetEmployee",
                procedureName = "SP_GetEmployee",
                resultClasses = EmployeeData.class,
                parameters = {
                        @StoredProcedureParameter(mode = IN, name = "name", type = String.class)
                }
        )})
@Entity
public class EmployeeData {

    private int employeeNo;

    private String name;    

    @Id
    @Column(name = "employeeNo")
    public int getEmployeeNo() {
        return employeeNo;
    }

    public void setEmployeeNo(int employeeNumber) {
        this.employeeNo = employeeNumber;
    }

    @Basic
    @Column(name = "name")
    public String getEmployeename() {
        return name;
    }

    public void setEmployeename(String name) {
        this.name = name;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...