Exception in thread "main" java.lang.ClassCastException: org.hibernate.mapping.SingleTableSubclass cannot be cast to org.hibernate.mapping.RootClass[RESOLVIDO]

Estou recebendo o seguinte erro por causa de algo que acredito ser na annotation do hibernate para herança.

Abaixo o código:

package biblioteca;

import java.util.Collection;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinTable;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

@Entity
@Table(name="tb_livro")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="TYPE", discriminatorType=DiscriminatorType.STRING)
public class Livro {
	
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="id_livro", unique=true)
	private int id;
	@Column(length=30)
	private String titulo;
	@Temporal(TemporalType.DATE)
	private Date ano;

	@Embedded
	private Endereco endereco;
	
	@ManyToMany(fetch=FetchType.LAZY)
	@JoinTable(name="Livro_Autor",
			   joinColumns= {@JoinColumn(name="id_livro")},
			   inverseJoinColumns= {@JoinColumn(name="id_autor")})
	private Collection<Autor> autores;	
	
	@ManyToOne(fetch=FetchType.EAGER)
	@JoinColumn(name="id_livro", insertable=true, updatable=true)
	@Fetch(FetchMode.JOIN)
	@Cascade(CascadeType.SAVE_UPDATE)
	private Editora editora;
	
	public Endereco getEndereco() {
		return endereco;
	}

	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}
	
	public String getTitulo() {
		return titulo;
	}
	
	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}
	
	public Date getAno() {
		return ano;
	}
	
	public void setAno(Date ano) {
		this.ano = ano;
	}

	public int getId() {
		return id;
	}

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

	public Editora getEditora() {
		return editora;
	}

	public void setEditora(Editora editora) {
		this.editora = editora;
	}

	public Collection<Autor> getAutores() {
		return autores;
	}

	public void setAutores(Collection<Autor> autores) {
		this.autores = autores;
	}
}

Classe que herda:

package biblioteca;

import javax.persistence.Column;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;


@Entity
@DiscriminatorValue("LiImp")
public class LivroImportado extends Livro {
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private int id;
	@Column(length=30)
	private String tradutor;
	@Column(length=15)
	private String impressao;
	
	public int getId() {
		return id;
	}
	
	public void setId(int id) {
		this.id = id;
	}
	
	public String getTradutor() {
		return tradutor;
	}
	
	public void setTradutor(String tradutor) {
		this.tradutor = tradutor;
	}
	
	public String getImpressao() {
		return impressao;
	}
	
	public void setImpressao(String impressao) {
		this.impressao = impressao;
	}
}

Alguém saberia onde está o erro?
Tentei fazer com @Inheritance(strategy=InheritanceType.JOINED), mas da o mesmo erro.
Desde já agradeço.

Quando vi a mensagem de erro e as tuas classes, imaginei que fosse por conta de você ter definido o

@Id

Nas duas.
Como faz muito tempo que não uso hibernate, fui verificar.
Achei isso e tive certeza que meu palpite estava correto.

Obrigada Darlan,

O erro era esse mesmo. Estou nos primeiros passos do hibernate e gostando bastante.
Vlw pela ajuda!