В моем загрузочном проекте 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;
}
}