2013-04-27 67 views
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                     


}                           

回答

1

嘗試用這種

@JoinColumns({  
    @JoinColumn(name = "nam1", referencedColumnName = "nam1"), 
    @JoinColumn(name = "name2", referencedColumnName = "name2") 

}) 
+0

我konw項目經理是FullTimeEmployee的類型,我也想對把一個employee_type表項目,JPA如何支持這個? – genechu 2013-04-27 08:25:31