【发布时间】:2021-05-31 07:20:16
【问题描述】:
我实际上是在尝试使用 IntelliJ 在 Spring Boot 项目中创建 MySql 数据库的持久性。
经典表没有问题,但“视图”表出现错误消息:
没有为实体指定标识符:
这是一个视图示例:
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Objects;
@Entity
@Table(name = "employee_view", schema = "db", catalog = "")
public class EmployeeView {
private int ageId;
private String ageLabel;
@Basic
@Column(name = "age_id")
public int getAgeId() {
return ageId;
}
public void setAgeId(int ageId) {
this.ageId = ageId;
}
@Basic
@Column(name = "age_label")
public String getAgeLabel() {
return ageLabel;
}
public void setAgeLabel(String ageLabel) {
this.ageLabel = ageLabel;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
EmployeeView employeeView = (EmployeeView) o;
return ageId == employeeView.ageId && Objects.equals(ageLabel, employeeView.ageLabel);
}
@Override
public int hashCode() {
return Objects.hash(ageId, ageLabel);
}
}
如您所见,没有 ID 列,因为该视图没有标识符。也许这是一个简单的问题,因为这是我第一次为视图创建持久性。我能做什么?
【问题讨论】:
标签: spring-boot jpa view persistence identity