2012-11-27 39 views
0

嗨JPA inharit领域所有没有继承id字段

我们一般放4场在每一个命名为CREATED_BY,LAST_UPDATED_BY,CREATION_DATE,时间:LAST_UPDATED_DATELAST_UPDATED_TIME表,所以我想,为什么不把这个编在一个班里BaseDo和比继承这样的类如EmployeeDo。问题是如果我用@Entity注释这个BaseDo,我必须放一个@Id字段,我不想要。有没有办法做到这一点?

@Entity 
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) 
public class BaseDo implements Serializable { 
    private static final long serialVersionUID = 6685603264139140757L; 
    @Column(name="CREATED_BY" , nullable =false) 
    private String createdBy; 
    @Column(name="LAST_UPDATED_BY", nullable =false) 
    private String lastUpdatedBy; 
    @Column(name="CREATION_DATE", nullable =false) 
    private Date creationDate; 
    @Column(name="LAST_UPDATED_DATE", nullable =false) 
    private Date lastUpdationDate; 
} 

@Entity 
@Table(name="EMPLOYEE") 
public class EmployeeDo extends BaseDo implements Serializable { 

    private static final long serialVersionUID = 4465521188079217243L; 
    @Id 
    @Column(name="EMPLOYEE_ID") 
    private String employeeId ; 
} 

非常感谢

回答