Mapeamento de ids em um uma classe Parent

Salve GUJeiros!

Estou com uma dúvida no mapeamento de id utilizando anotattions, vou explicar o esquema do meu projeto pra vcs entenderem…

Todas as tabelas do banco de dados tem um campo id do tipo integer, que é nomeado da seguinte forma ID_<NOME-DA-TABELA>, estess campo por sua vez são as chaves primárias das tabelas.

Em java eu criei uma classe Entity que é extendida por todas as outras classes (Entidades), esta classe contém um campo Integer id, logo todas as classes(Entidades) terão um id.

Tenho também uma tabela chamada SEQUENCE que uso para gerar o auto-incremento.

Em outro projeto que eu utilizava a mesma estrutura, porém eu usava arquivos HBM.XML pra fazer o mapeamento do hibernate, mas agora o mapeamento é por anotattions.

quando era em HBM.XML o mapeamento dos ids eram assim:

&lt;id name="id" column="id_TABELA"&gt;
   &lt;generator class="org.hibernate.id.MultipleHiLoPerTableGenerator"&gt;
    &lt;param name="table" &gt;SEQUENCE&lt;/param&gt;
    &lt;param name="primary_key_column" &gt;nm_sequence&lt;/param&gt;
    &lt;param name="value_column" &gt;next_id&lt;/param&gt;
    &lt;param name="primary_key_value" &gt;TABELA&lt;/param&gt;
    &lt;param name="max_lo" &gt;1&lt;/param&gt;
  &lt;/generator&gt;
&lt;/id&gt;

Agora estou com dúvida de como posso “sobrescrever” o anotattion de mapeamento dos ids, ou seja, declarar o atributo na classe pai e mapeá-lo na classe-filha.

Em pesquisa encontrei o seguinte código …

@MappedSuperclass
public class FlyingObject implements Serializable {

public int getAltitude() {
    return altitude;
}

@Transient
public int getMetricAltitude() {
    return metricAltitude;
}

@ManyToOne
public PropulsionType getPropulsion() {
    return metricAltitude;
}
...

}

@Entity
@AttributeOverride( name=“altitude”, column = @Column(name=“fld_altitude”) )
@AssociationOverride( name=“propulsion”, joinColumns = @JoinColumn(name=“fld_propulsion_fk”) )
public class Plane extends FlyingObject {

}

neste código, “AttibuteOverride” mapeia um atributo da classe-pai e “AssociationOverride” mapeia um relacionamento da classe-pai, porém eu queria mapear um id (que é difente de um atributo normal) que tá declarado na classe-pai. Pensei que teria um “IdOverride” mas não exite…

Alguém já passou por essa situação?

Isto é possível?