Enum não persiste na base de dados

Olá amigos, estou tendo um problema com Classe enum a mesma não está persistindo na base de dados, já procurei em varios forum mais nada, ve se alguém já passou por esse problema para me ajudar!

segue abaixo a classe e o erro!

[code]
@Entity
@Table(name=“movimento”)
public enum Movimento {

Entrada,
Saida

}[/code]

erro:

Exception in thread "main" java.lang.ExceptionInInitializerError
	at teste.main(teste.java:13)
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: decoder-mysql] Unable to configure EntityManagerFactory
	at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:378)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
	at br.com.decoder.util.JPAUtil.<clinit>(JPAUtil.java:10)
	... 1 more
Caused by: org.hibernate.AnnotationException: No identifier specified for entity: br.com.decoder.modelo.Movimento
	at org.hibernate.cfg.InheritanceState.determineDefaultAccessType(InheritanceState.java:268)
	at org.hibernate.cfg.InheritanceState.getElementsToProcess(InheritanceState.java:223)
	at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:686)
	at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:4035)
	at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3989)
	at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1398)
	at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1375)
	at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1519)
	at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:193)
	at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:1100)
	at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:282)
	at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:366)
	... 5 more

Você deve configurar o enum na entidade que quer persisti-lo. Não no próprio enum. Por exemplo, se você tem um enum chamado TipoPessoa e uma classe Pessoa, o mapeamento é assim:

@Entity
public class Pessoa {
   @Enumerated //configurando o enum
   private TipoPessoa tipo;
}

No seu exemplo, você só tem dois valores para o enum (Entrada e Saida), não tem porque persistir isto. :slight_smile:

Cara, não mapeia um enum como ele fosse uma classe.

O enum não precisa de um mapeamento, quem precisa é quem for utilizar ele.

Ex:

    @Enumerated(EnumType.STRING)
    private Autoridade autoridade;

caso precise de uma lista de enum.

    @ElementCollection(targetClass=Autoridade.class) 
    @Enumerated(EnumType.STRING)
    private List<Autoridade> autoridades;

Enum pode ser salvo por index ou por nome. Leia aqui: JPA: Mini Livro - Primeiros passos e conceitos detalhados