Olá, boa noite a todos do GUJ.
Estou iniciando os estudos no framework hibernate e estou tendo o seguinte problema abaixo quando mando gerar minha tabelas no BD.
org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="com.jeovane.sistema.cliente.Cliente"/>
Exception in thread "main" java.lang.NullPointerException
at Conecta.main(Conecta.java:10)
Meu arquivo de mapeamento e conexão no banco é o seguinte abaixo
A classe que executo para gerar as tabelas é a seguinte abaixo.
publicclassConecta{publicstaticvoidmain(String[]args){Sessionsession=null;try{session=HibernateUtil.getSession().openSession();System.out.println("Conectou!");}finally{session.close();System.out.println("Fechou a conexão!");}}}
E minha classe de configuração é a seguinte abaixo.
Você tem alguma nescessidade específica para criar as classes de modelo a partir da conexão?
Por que particulamente prefiro criar as classes atraves de New Entity Class from Database.
jeovane.reges
Não necessariamente, é apenas pra teste e agilizar a criação mesmo, além disso, estou iniciando.
wagnerfrancisco
Qual versão do Hibernate vc tá usando? Veja a mensagem:
Versões anteriores a, se não me engano, 3.6 precisam usar a classe AnnotationConfiguration ao invés da Configuration. Qual a sua versão?
jhaga
Já que está iniciando, siga a dica do colega rfogo.
Eu também prefiro “criar na mão”.
E também como o wagnerfrancisco disse, sempre tem umas “peculiaridades” de versão para versão 8)
GusMcCart
Se tiver usando Annotation nos seus POJO’s tem que usar a AnnotationConfiguration ao invés da classe Configuration no seu HibernateUtil… Caso esteja usando XML tanto faz…
jeovane.reges
A versão do hibernate é a 3.5.5-Final
É melhor usar uma mais recente ou o que?
wagnerfrancisco
Exato, como eu falei, antes da versão 3.6 você precisava usar AnnotationConfiguration.
Partindo da 3.6, pode usar direto a classe Configuration (como vc fez).
Baixe a versão mais recente, a 4.1. Estas classes vão estar deprecated, mas irão funcionar. Depois pesquise como fazer o setup na versão 4.
jeovane.reges
Opa, tá certo
Obrigado wagnerfrancisco
L
Leonardo.Cartaxo
cara vc ta declarando uma classe ao inves do xml no hibernate.
no teu hibernate.cfg.xml vc ta mapeando é a classe em si e não o xml que vc mesmo declarou, se na tua classe entidade não estão declarados os annotations vai dar errado, tente colocar o xml de mapeamento de classe no cfg do hibernate.
outra dica, também concordo com os colegas e acho que vc devia fazer as tabelas do banco na mão mesmo ao invés de usar hibernate.