Mapear banco de dados com hibernate

2 respostas
jks1903

Estou seguindo a apostila da Caelum Fj28, porém estou utilizando o PostgreSQL ao invés do MySql quanto ao banco de dados.
Até onde avancei na apostila (estou no início pag. 20), não mencionou nada sobre isso por isso peço esse esclarecimento a quem puder me informar.

Eu preciso criar manualmente as tabelas no banco de dados? Seguindo a apostila dá a entender que sim, porém ao rodar a aplicação, gerou erro por não existir a relação produto, que é o que eu estava utilizando no momento. Criei a mesma manualmente e consegui.

E uma outra dúvida é sobre a sequence para auto-incremento.
Somente consegui executar o auto-incremento indo no postgre e alterando o nome da sequence para “hibernate_sequence”, que era a relação não existente exibida no erro. Procurei no hibernate.cfg.xml mas não encontrei nada. Onde altero os nomes das sequences?

Obrigado.

2 Respostas

aix

jks1903:
Estou seguindo a apostila da Caelum Fj28, porém estou utilizando o PostgreSQL ao invés do MySql quanto ao banco de dados.
Até onde avancei na apostila (estou no início pag. 20), não mencionou nada sobre isso por isso peço esse esclarecimento a quem puder me informar.

Eu preciso criar manualmente as tabelas no banco de dados? Seguindo a apostila dá a entender que sim, porém ao rodar a aplicação, gerou erro por não existir a relação produto, que é o que eu estava utilizando no momento. Criei a mesma manualmente e consegui.

E uma outra dúvida é sobre a sequence para auto-incremento.
Somente consegui executar o auto-incremento indo no postgre e alterando o nome da sequence para “hibernate_sequence”, que era a relação não existente exibida no erro. Procurei no hibernate.cfg.xml mas não encontrei nada. Onde altero os nomes das sequences?

Obrigado.

Acho interessante você seguir a apostila, pois a métodologia de ensino da Caelum é muito boa, mas é claro que você não precisa ficar criando manualmente as tabelas no banco, mas vc pode ter tudo configurado na sua unit persistent normalmente utilizo JPA e o Hibernate apenas como provider, coloco o Hibernate apenas para gerar as tabelas pra min, e quanto ao auto incremento pode ser: usando annotation, você pode definir isto direto no objeto que representa a entidade, mas tudo isto vc vai ainda vai ver, ex:

@Id
@SequenceGenerator(name = “user_sequence”, sequenceName = “my_user_sequence”)
ou
@Id
@GeneratedValue(strategy = GenerationType.AUTO")

masegue lendo na pagina vc vai aprender sómente configurando o Hibernate.cfg.xml pag.:
...Como estamos adicionando uma entidade nova, precisamos colocá-la no hibernate.cfg.xml. Ainda vamos
adicionar a propriedade hibernate.hbm2ddl.auto com o valor update, assim o hibernate fará as mudanças nas
tabelas do banco quando necessário.

vai em frente :slight_smile:

jks1903

aix:
jks1903:
Estou seguindo a apostila da Caelum Fj28, porém estou utilizando o PostgreSQL ao invés do MySql quanto ao banco de dados.
Até onde avancei na apostila (estou no início pag. 20), não mencionou nada sobre isso por isso peço esse esclarecimento a quem puder me informar.

Eu preciso criar manualmente as tabelas no banco de dados? Seguindo a apostila dá a entender que sim, porém ao rodar a aplicação, gerou erro por não existir a relação produto, que é o que eu estava utilizando no momento. Criei a mesma manualmente e consegui.

E uma outra dúvida é sobre a sequence para auto-incremento.
Somente consegui executar o auto-incremento indo no postgre e alterando o nome da sequence para “hibernate_sequence”, que era a relação não existente exibida no erro. Procurei no hibernate.cfg.xml mas não encontrei nada. Onde altero os nomes das sequences?

Obrigado.

Acho interessante você seguir a apostila, pois a métodologia de ensino da Caelum é muito boa, mas é claro que você não precisa ficar criando manualmente as tabelas no banco, mas vc pode ter tudo configurado na sua unit persistent normalmente utilizo JPA e o Hibernate apenas como provider, coloco o Hibernate apenas para gerar as tabelas pra min, e quanto ao auto incremento pode ser: usando annotation, você pode definir isto direto no objeto que representa a entidade, mas tudo isto vc vai ainda vai ver, ex:

@Id
@SequenceGenerator(name = “user_sequence”, sequenceName = “my_user_sequence”)
ou
@Id
@GeneratedValue(strategy = GenerationType.AUTO")

masegue lendo na pagina vc vai aprender sómente configurando o Hibernate.cfg.xml pag.:
...Como estamos adicionando uma entidade nova, precisamos colocá-la no hibernate.cfg.xml. Ainda vamos
adicionar a propriedade hibernate.hbm2ddl.auto com o valor update, assim o hibernate fará as mudanças nas
tabelas do banco quando necessário.

vai em frente :)

Cara, fiz bobagem aqui, rsrs.
Relendo ali o trecho que vc postou, vi que esqueci dessas propriedades no XML … por isso nao criou as tabelas no banco.

Sobre a sequence vou tentar dessa forma ali.

Vlw mesmo.

Criado 29 de dezembro de 2011
Ultima resposta 30 de dez. de 2011
Respostas 2
Participantes 2