Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Inserir dados na Tabela usando Hibernate

Galera, estou aprendendo usar o Hibernate, consegui fazer a comunicação e criação da tabela no banco, porém não insere os dados que solicitei para fazer o insert... tem ideia do que pode ser ?

TestaJPA.java

package br.com.pessoal.agenda.main;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import br.com.pessoal.agenda.javabean.Contatos;

public class TestaJPA {

    public static void main(String[] args) {

        Contatos contato=new Contatos();
        contato.setNome("Slinkey99");
        contato.setEmail("slin99@mail.com");
        contato.setTelefone("11 0000.0000");


        EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("agenda");
        EntityManager manager = entityManagerFactory.createEntityManager();

        manager.getTransaction().begin();
        manager.persist("contato");
        manager.getTransaction().commit();
        manager.close();
    }
}
4 respostas
solução!

fala cara, blz?

Você está passando como parâmetro do método persist() uma String e não o objeto do tipo Contatos. ;)

@Samir.bravo, muito Obrigado!! nossa que vacilo rsrsrs Olhei olhei e não me liguei nesse detalhe... Obrigado.

Samir, mesmo eu rodando novamente o código após arrumar com a sua dica, ele automaticamente já identificou que a tabela já existia na base e não criou novamente... como ele identificou isso, tem ideia ?

Obrigado.

Provavelmente o seu Bean Contatos está anotado com @Entity. É assim que a JPA (Hibernate) sabe que ela tem que gerenciar essa classe e criar as tabelas.

O que pode estar acontecendo é que no persistence.xml você tem alguma property que está setada para criar a tabela e por isso não está funcionando. Pode ser que seja essa aqui:

<!-- poderia ser: update, create, create-drop, none -->
    <property name="hibernate.hbm2ddl.auto" value="update" />

Aí é só trocar o valor para update.

@Samir Bravo ta funcionando de boas, só era a curiosidade mesmo de como o Hibernate consegue identificar que a tabela ja foi criada e não da error e em seguida inserir meus dados. Mas de qualquer forma agradeço pelas dicas ;) Abs.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software