Hibernate - override de atributo

Pessoal,

Estou com a seguinte situação: Tenho uma classe abstrata e outras classes concretas que devem fazer o override do atributo, que por sinal é o Id.
Da forma que estou fazendo, estou conseguindo, porém com o inconveniente de ser criado uma tabela com o nome da classe abstrata. Gostaria de saber se tem como eu fazer funcionar sem que a tabela da classe abstrata seja criada. Abaixo segue as classes


@Entity
@Table(name = "NOME_SUPER_CLASSE")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@MappedSuperclass
public abstract class NomeSuperClass  {

	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "id", nullable = false)
    protected Long id;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}
	
}


@Entity
@Table(name = "NOME_SB_CLASSE")
@AttributeOverride(name = "id", column = @Column(name = "id_sub_class", nullable = false))
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)

public class NomeSubClass extends NomeSuperClass {

	private static final long serialVersionUID = 1L;

	@Column(name = "contato", length = 30, nullable = false)
	private String contato; 
	
	@Column(name = "fone_contato", length = 14)
	private String fone;

Da forma que está aí, eu consigo gerar a tabela NOME_SB_CLASSE com a coluna pk com nome “id_sub_class” mas tbm é criado no banco uma tabela com o nome de “NOME_SUPER_CLASSE”

Importante: Tenho outra classe que tem um relacionamento com a SUPER_CLASSE, porque eu terei mais de uma subclasse dessa superclasse e essa classe deve se relacionar com qualquer subclasse…por isso essa minha abordagem.

Se alguém souber como resolver isso ou ainda propor uma abordagem diferente para solução do problema agradeço.

Obrigado