【发布时间】:2017-10-22 12:04:59
【问题描述】:
我有一个定义雇员表的实体。对于项目结构,有一些像"EmployeeTrn","EmployeeBck",...这样的子类,它们只是从Employee超类扩展而来。所有的属性和方法都完全相同。
@Entity
@Table(name = "EMPLOYEE")
public class Employee {
@Id @GeneratedValue
@Column(name = "id")
private int id;
@Column(name = "first_name")
private String firstName;
@Column(name = "last_name")
private String lastName;
@Column(name = "salary")
private int salary;
public Employee() {}
public int getId() {
return id;
}
public void setId( int id ) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName( String first_name ) {
this.firstName = first_name;
}
public String getLastName() {
return lastName;
}
public void setLastName( String last_name ) {
this.lastName = last_name;
}
public int getSalary() {
return salary;
}
public void setSalary( int salary ) {
this.salary = salary;
}
}
扩展子类如下。
public class EmployeeTrn extends Employee{
public EmployeeTrn(){
id = Builder.generateSSI();
firstName = Helper.fetchFromLocal("8091").name();
lastName = Helper.fetchFromLocal("8091").surname();
}
}
public class EmployeeBck extends Employee{
public EmployeeBck(){
id = Builder.generateSSIFromHost("localhost:8091");
firstName = Helper.fetchFromAWS("/token.dat").name();
lastName = Helper.fetchFromAWS("/token.dat").surname();
}
}
我已经在配置 xml 文件上映射了 Employee 实体。但是当我尝试保存从 Employee 扩展的类时,就会出现 问题。
session.saveEmployee(employeeTrn);
Exception in thread "main" org.hibernate.MappingException: Unknown entity: com.company.EmployeeTrn
谁能帮助我?我被卡住了。
【问题讨论】:
-
实例是什么意思?从实体类扩展你想达到什么目的?
-
@pouyankhodabakhsh 由于项目结构,我应该扩展 EmployeeTrn 等实例。这个扩展的子类具有与 super 完全相同的属性和方法。之所以使用这个,每个子类都有不同的属性值。
标签: java spring hibernate jpa hibernate-mapping