Olá pessoal,
to usando Hibernate 3 e queria saber se tem como eu criar o banco de dados com ele.
Eu consigo criar o esquema sem problemas, mas eu queria que ele criasse o Banco de Dados tb, ou seja, dar o Create DataBase.
Tem como?
VLW
Olá pessoal,
to usando Hibernate 3 e queria saber se tem como eu criar o banco de dados com ele.
Eu consigo criar o esquema sem problemas, mas eu queria que ele criasse o Banco de Dados tb, ou seja, dar o Create DataBase.
Tem como?
VLW
[quote=pauloperes]Baison
Veja este tópico do Guj: http://www.guj.com.br/posts/list/37684.java
Att,
Paulo[/quote]
Bom, li o topico todo e nao encontrei nada em relação a criação do banco de dados, apenas do esquema.
Mas mesmo assim, obrigado.
Outra sugestão?
Obs.: O que eu quero é algo que dispare um comando como: CREATE DATABASE, caso nao exista.
O que ele pode fazer é criar as tabelas. O banco voce cria.
Rafael
Beison, basta você adicionar a linha
[color=red]<property name=“hbm2ddl.auto”>create</property>[/color]
no seu arquivo hibernate.cfg.xml. Ele irá ficar assim:
[code]<?xml version=‘1.0’ encoding=‘utf-8’?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
“http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd”>
<hibernate-configuration>
<session-factory>
<!-- Aqui vão as suas configurações para conexão com o banco -->
<!-- Aqui você pode colocar outras configurações -->
<!-- Na linha a seguir, você está dizendo para o Hibernate: “Por favor, crie as tabelas pra mim…” -->
<property name=“hbm2ddl.auto”>create</property>
</session-factory>
</hibernate-configuration>[/code]
Lembrando que o banco mesmo você tem que criar, ok?!
[color=brown]No MySQL, você cria o banco com a seguinte query:
CREATE DATABASE SEUBANCO
;[/color]
É exatamente isso que eu queria saber se tinha como evitar. Mas pelo jeito não tem.
Enfim, posso adicionar essa etapa no ANT na mao mesmo.
Mas ta blz, vlw pela atenção ae galera.
Alem das configurações que lucascaton citou você pode colocar desta forma na hibernate.connection.url que no statup da aplicação o banco de dados será criado tbm
<hibernate-configuration>
<session-factory>
...........
<property name="hibernate.connection.url">jdbc:mysql://localhost/BANCO_DADOS?createDatabaseIfNotExist=true</property>
..........
</session-factory>
</hibernate-configuration>
Oxi pow faz oq o lucascaton falou pow. adiciona a linha
create
la no seu arquivo de configuração do hibernate que ele automaticamente vai criar as tabelas para você no banco de dados.
A unica coisa que você vai precisar fazer é criar o banco com o nome que você desejar e mais nada.
Fala fera!
Cara, tem sim como criar o Banco de Dados através do Hibernate, sem ser na mão.
No teu hibernate.cfg.xml faz assim:
Para o dialeto usa o InnoDB
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
Para a Url de conexão usa assim:
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/NomeDoBanco?createDatabaseIfNotExist=true</property>
E por fim:
<property name="hibernate.hbm2ddl.auto">update</property>
Você deve saber já, mas como sempre é objetivo ajudar mais do que quem pergunta, vale a pena add:
Para ver o SQL gerado
<property name="hibernate.show_sql">true</property>
E para que ele apareça formatado na saída da tua IDE
<property name="hibernate.format_sql">true</property>
Testa aí e vê se resolve.
Abraços!