JPA + provedor Hibernate!

Dae galera!! Estou começando a estudar hibernate…e queria alguns links, tutoriais sobre o mesmo… mas a implementação JPA… achei alguns mas dando apenas umas pinceladas… tipo… aqueles tutorias que estão espalhados pela net sobre o hibernate se aplicam a essa especificação JPA? Ou a maioria desses tutoriais são do hibernate que não implementa a especificação JPA!!
Ache alguns e dei uma comparada… e tipo… vi algumas diferenças, por isso queria links em que fosse relativo à implementação hibernate do JPA!"
Valeu!!

Aí tem muita coisa sobre JPA:

http://java.sun.com/javaee/reference/
http://www.oracle.com/technology/products/ias/toplink/jpa/index.html
http://www.hibernate.org/397.html

com Netbeans eu faço o seguinte…

-» crie as tabelas no banco;

-» crie um projeto no netbeans;

-» no projeto Novo > Arquivo/pasta > Persistencia > Classes de Entidade do Bando de Dados > proximo > Conexao com o Banco de Dados: jdbc:mysql://localhost:3306/teste > ira pedir a senha > depois na caixa de txt da esquerda aparecera as tabelas, clique em adicionar todos > proximo > Criar uma unidade de persistencia: clique no botao criar;

-» na tela aparecera o nome das tabelas (esquerda) e o nome das classes (direita), em baixo o nome do projeto, Localizacao, e o pacote onde estarao as classes ex: model > Finalizar;

O netbeans ira criar as classes com os atributos os gets e sets, com hibernate annotations, e os NameQuery… etc

exemplo metodo salvar


 private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("nomeDoProjetoPU");  //aqui vai o nome da unidade de persistencia, se nao lembrar verifique em (META-INF/persistence.xml)

    private static EntityManager em = emf.createEntityManager();
    
    public void salvar(Object object){
        em.getTransaction().begin();
        try {
            if(!em.isOpen()){
                em = emf.createEntityManager();
            }
            em.persist(object);
            em.getTransaction().commit();
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
    }

tvz ajude em alguma coisa…

minha opinião, esses wizard podem até fazer tudo, mas depois na hora de dar manutenção, ou quiser mexer em coisas que afetam o sistema inteiro, vc vai se arrepender… fora o fato de vc poder ficar dependente deles (só saber usar jpa se for pelo netbeans). Acho que vale usar ele para ver como funciona, criar exemplos, fazer uns testes e tal, mas no projeto de verdade, crie você mesmo suas abstrações, eu pelo menos não ficaria dependente do netbeans.

minha opinião, não estou criticando o netbeans nem quem usa dessa forma.

[quote=“luBS”]minha opinião, esses wizard podem até fazer tudo, mas depois na hora de dar manutenção, ou quiser mexer em coisas que afetam o sistema inteiro, vc vai se arrepender… fora o fato de vc poder ficar dependente deles (só saber usar jpa se for pelo netbeans). Acho que vale usar ele para ver como funciona, criar exemplos, fazer uns testes e tal, mas no projeto de verdade, crie você mesmo suas abstrações, eu pelo menos não ficaria dependente do netbeans.

minha opinião, não estou criticando o netbeans nem quem usa dessa forma.[/quote]

Concordo plenamente. Para aprendizado sim, mas para produção definitivamente não.

@braços,