Hibernate.archive.autodetection

5 respostas
R

Olá

Estou migrando de JPA para Hibernate. Estou usando anotações e meu persistence.xml não contem os nomes das classes com @Entity, o Hibernate descobre elas.
Porém quando migrei para o hibernate.cfg.xml comecei a ter exceções do tipo “Class is not mapped”. Verifiquei que o Hibernate tb não está criando as tabelas.

Vi que o default do hibernate.archive.autodetection é “class, hbm”, então ele não deveria descobrir as classes anotadas automaticamente?

De qquer maneira adicionei a linha <property name="hibernate.archive.autodetection">class</property> no meu hibernate.cfg.xml e mesmo assim não funcionou.
O que devo fazer? Não quero ter que colocar o nome das classes no arquivo cfg.

Outra pergunta, minhas entidades estão com anotações do JPA. Posso mantê-las ou vou ter que mudar?

Obrigado

5 Respostas

M

Se entendi direito vc quer migrar o seu código mapeado de JPA para Hibernate.
Então vc vai ter que mapear todas as suas classes em arquivos hbm.xml , e informar as classes mapeadas no cfg.xml.
As anotações no seu código não serão consideradas.

espero ter ajudado.

R

Não, eu não preciso criar o mapeamento em arquivos hbm. Quero continuar com anotações.

M

Entendi. Então vc quer usar a implementação do HIbernate da JPA.
Isso só é possível utilizando o persistence.xml. ( e não o hibernate.xfg.xml, este só pode ser utilizando com os arquivos hbm.xml).

R

Na verdade é o contrario: eu estava usando a implementação Hibernate da JPA e agora quero ficar Hibernate. Então eu usava o persistence.xml e agora quero usar o hibernate.cfg.xml.
Quando eu estava usando persistence.xml ele funcionava, criava as tabelas e tal. Agora, usando o hibernate.cfg.xml ele só funciona se eu for lá e colocar os nomes das classes, uma por uma. O autodetection não está funcionando.

R

hmm
tinha entendido outra coisa quando li sua msg pela primeira vez. Mas acho que tem uma coisa errada nela: vc nao precisa usar necessariamente o hbm.xml se estiver usando o hibernate.cfg.xml. Vc pode usar anotações e especificar as classes dentro do hibernate.cfg.xml usando .
Eu só nao queria ter q fazer isso… ficar colocando nome de cada classe.

Criado 16 de abril de 2009
Ultima resposta 23 de abr. de 2009
Respostas 5
Participantes 2