Hibernate-annontations + Map

galera
to com dificultades em como fazer o mapeamento de uma classe minha aqui

eu tenho uma classe que tem apenas um atributo, que é um map, com uma chave String e um Enum como valor

classe 1:

@Embeddable
public class ListaDeSublistas implements Serializable {
	
	@CollectionOfElements
	private Map<String, SubLista> sublistas;
	
	public ListaDeSublistas()	{
		sublistas = new HashMap<String, SubLista>();
	}
	
	public SubLista get(String sublista)	{
		return sublistas.get(sublista);
	}
	
	public void add(SubLista sublista)	{
		sublistas.put(sublista.toString(), sublista);
	}
}

enum:

public enum SubLista implements Serializable {
    
	DISQUETE_CONSULTA("Disquete Consulta FCC"),
	LISTA_ALFA_COLEGIO("Lista alfa colégio"),
	LISTA_ALFA_POSTO("Lista alfa posto"),
	LISTA_CADASTRO("Lista de Cadastro (Alfa geral)"),
	LISTA_PRESENCA("Lista de presenca com espaço para assinatura"),
	LISTA_SALA_DUPLO_LINGUA("Lista de sala - fomato duplo (c/ mist. de língua)"),
	LISTA_SALA_DUPLO_HORARIO("Lista de sala - formato duplo (com horário)"),
	LISTA_SALA_SIMPLES("Lista de sala - formato simples"),
	RELATORIO_INSCRICAO("Relatório com nº de inscrição e tipo de prova"),
	RELATORIO_RESERVA_PROVAS("Relatório de reserva de provas");
	
	private final String descricao;
	private String especificacao;
	
	SubLista(String descricao)	{
		this.descricao = descricao;
	}
	
	public String getEspecificacao() {
		return especificacao;
	}
	public void setEspecificacao(String especificacao) {
		this.especificacao = especificacao;
	}
}

dei uma pesquisada, mas não estou descobrindo que anotações eu preciso pra esse map, na verdade nunca mapeei um Map antes
alguém pode me ajudar?

Mas esse seu Enum está persistido na sua base de dados?
Como você está persistindo essa informação do Enum?

Abraço.

então cara
essa é uma das minhas dúvidas
eu nunca persisti um enum assim antes, só de um jeito + simples
segue a última classe do meu sistema

@Entity(name = "LISTAS_LISTA_CADASTRO")
public class ListaCadastro implements Serializable {
	
	public enum TpProva {OBJETIVA, PRATICA, OUTRA};
	
	@Id
	private String spi;
	@Enumerated(EnumType.STRING)
	private TpProva tpProva;
	private String dtCriacao;
	private String dtNecessidade;
	@Column(length=2000)
	private String dsOutros;
	@Column(length=2000)
	private String observacao;
	@Embedded
	private ListaDeSublistas sublistas;
	
	public ListaCadastro()	{
		sublistas = new ListaDeSublistas();
	}
	
	public void adicionarSublista(SubLista sublista)	{
		sublistas.add(sublista);
	}
	
	public String getSpi() {
		return spi;
	}
	public void setSpi(String spi) {
		this.spi = spi;
	}
	public TpProva getTpProva() {
		return tpProva;
	}
	public void setTpProva(TpProva tpProva) {
		this.tpProva = tpProva;
	}
	public String getDtCriacao() {
		return dtCriacao;
	}
	public void setDtCriacao(String dtCriacao) {
		this.dtCriacao = dtCriacao;
	}
	public String getDtNecessidade() {
		return dtNecessidade;
	}
	public void setDtNecessidade(String dtNecessidade) {
		this.dtNecessidade = dtNecessidade;
	}
	public String getDsOutros() {
		return dsOutros;
	}
	public void setDsOutros(String dsOutros) {
		this.dsOutros = dsOutros;
	}
	public String getObservacao() {
		return observacao;
	}
	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}
}

Nesse caso foi só usar um @Enumerated para o tpProva e tudo certo
Mas o meu enum SubLista tem variáveis de instância e talz
como eu faço com ele? preciso tratar ele com um entity ou o que?

Mas aí somente você, ou a pessoa responsável, para poder definir isso. Se o enum irá para o BD, ou se terá uma tabela específica para o Enum, ou se será por numeração. Enfim, diversas são as possibilidades, e isso impacta na anotação da classe.