1
PS:我用Hibernate作爲JPA的供應商,現在,我得到一個錯誤:JPA(休眠)來描述繼承和關係到子類
產生的原因:org.hibernate.AnnotationException:com.test的referencedColumnNames(經理標識) 。項目引用com.test.FullTimeEmployee沒有映射到一個單一的財產
@Entity
@Table(name = "tb_employee")
@IdClass(EmployeePK.class)
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "employee_type", discriminatorType = DiscriminatorType.STRING)
public class Employee implements Serializable {
@Id
@Column(name = "employee_id", nullable = false, length = 50)
protected String Id;
@Id
@Column(name = "employee_type", nullable = false, length = 50)
protected String type;
public static class EmployeePK implements Serializable {
private String Id;
private String type;
}
}
@Entity
@Table(name = "tb_ft_employee")
@DiscriminatorValue("fulltime")
public class FullTimeEmployee extends Employee {
// some other properties
}
@Entity
@Table(name = "tb_project")
public class Project{
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "manager_id", referencedColumnName = "employee_id", unique = false, nullable = false,
updatable = true)
private FullTimeEmployee manager;
// some other properties
}
我konw項目經理是FullTimeEmployee的類型,我也想對把一個employee_type表項目,JPA如何支持這個? – genechu 2013-04-27 08:25:31