Criação de tabelas no banco automaticamente pelo hibernate
25 respostas
F
fellipeA
Boa tarde pessoal!
Estou tentando criar uma aplicação que gere as tabelas automaticamente no banco através do hibernate, acontece que eu criei as classes configurei o persistence.xml e criei o banco, mas quando rodo a aplicação ela não esta gerando as tabelas e o servidor não aponta nenhum erro, segue as telas das classes que eu criei e como eu configurei o arquivo persistence.xml:
A propriedade hibernate.hbm2dll.auto não seria create?
F
fellipeA
Não eu já alterei para create e mesmo assim ele não está gerando as tabelas até poque a propriedade ddl como update, se a tabela não existir no banco ela deveria criar automático.
Eu vi uma mensagem no console do servidor e vou colocar mais 2 prints aqui uma da estrutura do projeto e outra da mensagem que aparece no console, segue as imagens abaixo:
Eduardo eu reproduzi o que estava neste link e mesmo assim não funciona, eu também alterei a função de criar tabelas mas mesmo assim não funciona… eu deixei a tabela deste jeito:
porem o console sempre continua igual mas nao esta gerando as tabelas no banco
F
fellipeA
O problema é que como sugeriram e também seguindo o material da caelum e outros materiais que eu vi na internet, fala que é preciso criar um folder com o nome META-INF e dentro colocar o arquivo persistence.xml, porém o projeto ficou com duas pastas META-INF, isso seria normal?? Não sei se isso também está gerando algum tipo de conflito.
Eu verifiquei a property n arquivo persistence e ela está certa… eu até alterei o arquivo persistence pra ver senão era alguma coisa errada no arquivo e ficou assim, mas mesmo assim não funciona…
o persistence ficou da seguinte maneira:
vc nomeou seu persistence-unit como “br.com”, mas está tentando criar a factory do PU “Orcamento”.
Persistence.createEntityManagerFactory("br.com");
F
fellipeA
não entendi o que você quis dizer Raphael, no caso a funcão de criar tabelas ficou do jeito como você acabou de citar e o persistence unit é br.com vou printar aqui novamente como está a função e o persistence
Weverton ainda continua sem criar as tabelas mesmo colocando a classe que você criou ou colocando a classe antiga sem o método main… o problema poderia ser do eclipse e a versão dele??? no caso eu estou usando o eclipse luna-jee-SR2
javaflex
Estude exemplos antes de aplicar no seu projeto.
No mais, o tempo que se perde com hibernate e modelo orientado a objetos já teria há bastante tempo criado as tabelas no banco através de modelagem relacional.
F
fellipeA
Eu vi os exemplos e a explicação da propriedade hbm2ddl, porem eu tive uma duvida, o arquivo hibernate.cfg.xml é necessário mesmo tendo o persistence.xml???
javaflex
Nunca usei JPA, mas pelo que leio persistence.xml é pra quem segue JPA. hibernate.cfg.xml é pra quem usa Hibernate puro, que é mais tranquilo do que ficar refém do JPA.
F
fellipeA
Na verdade só o hibernate puro não funcionaria pra mim…
javaflex
O que não funciona?
F
fellipeA
Usando hibernate puro a aplicação web conseguiria gerenciar todas as atividades no banco de dados??
javaflex
Sim, e até mesmo sem Hibernate, trabalhando direto com a linguagem padrão do banco.
JPA é só um padrão (inspirado no próprio Hibernate), que abstrai implementacoes de ORM (que abstrai o banco). Mas como a maioria no mundo Java gosta de n abstrações, vai se acostumando mesmo com JPA.