GARANTIR DESCONTO

Fórum Hibernate: criar tabela e banco automaticamente #582351

12/06/2017

0

Oi gente, eu por aqui de novo ^^

Alguém consegue me explicar como eu faço para gerar o banco e a tabela automaticamente no meu sistema? Estou usando o Hibernate 5 com JPA.
Laura Müller

Laura Müller

Responder

Post mais votado

12/06/2017

Laura, estou estudando Hibernate ainda, mas acredito que você faça isso na classe de persistência, em Estratégia de Geração de Tabela (no Netbeans), ou esta propriedade no arquivo XML:

<property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>

Achei esse material legal sobre JPA: http://www.javaworld.com/article/2077817/java-se/understanding-jpa-part-1-the-object-oriented-paradigm-of-data-persistence.html

Na verdade espero que não haja nenhum problema em postar links aqui no fórum, qualquer coisa me envia uma mensagem que eu te passo mais uns materiais que consegui.

Ivan Santos

Ivan Santos
Responder

Gostei + 1

Mais Posts

12/06/2017

Ivan Santos

Ah, você pode modificar a ação para "create" também, então ele não apagaria caso já existisse a tabela.
Responder

Gostei + 0

23/06/2017

Estevão Dias

Olá Laura,

Acrescentando a resposta do Hugo, caso você esteja utilizando Hibernate JPA e, consequentemente realizando suas configurações no persistence.xml, um parâmetro deve ser adicionado a URL de conexão com o banco:

<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/banco?createDatabaseIfNotExist=true"/>


Assim o seu banco será criado quando o aplicativo for executado.

Mas é importante que a propriedade abaixo esteja configurada corretamente, ou as informações cadastradas serão perdidas na próxima vez que você rodar a aplicação.

<property name="hibernate.hbm2ddl.auto" value="update"/>


Assim, apenas se houverem alterações nos modelos a tabela sofrerá modificações.

Um abraço.
Responder

Gostei + 1

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar