在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;
}
}