2012-11-27 4 views
0

Salut tousJPA champs inharit sans héritant champ id

Nous avons généralement 4 champ dans chaque table nommé CREATED_BY, LAST_UPDATED_BY, CREATION_DATE, LAST_UPDATED_DATE, donc je pensais pourquoi ne pas mettre cela en classe unique Basedo et qu'hériter cela dans la classe comme EmployeeDo. Le problème est que si j'annote ce BaseDo avec @Entity je dois mettre un champ @Id que je ne veux pas. Y a-t-il un moyen d'y parvenir?

@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 ; 
} 

Merci beaucoup

Répondre