Pessoal, gostaria de saber qual a melhor forma para se criar uma conexao no hibernate para aplicacoes DESKTOP
se e dessa forma:
http://www.netbeans.org/kb/docs/java/hibernate-java-se.html
que eu crio o hibernate.cfg, crio um hibernateUtil (que abre a conexao usando o sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory() e mapeia todas as classes com um xml
ou se eu posso usar annotations nas classes e abrir a conexao assim:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("NotasPU");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
se a melhor for utilizar o hibernate.cfg e o HibernateUtil tem como eu utilizar eles com as annotations ao inves de criar um xml para cada classe??
OBS. em ambos os casos eu vou fazer com que seja sempre aberto uma conexao, e todas as operacoes utilizem essa conexao aberta
valeu
mapeamento no hibernate com xml é coisa do passado, use o avanço das annotations, eu usaria o spring pra configurar tudo isso, e nele criaria um dataSource local, e todo esse esquema de abrir e fechar conexões/transações deixaria a cargo do spring, ele é muito bom pra isso, open source e gratuito.
legal mas e a parte do hibernate.cf e o HibernateUtil… ??? faco com esses dois o apenas um persistence.xml ?
valeu
[quote=fabioebner]legal mas e a parte do hibernate.cf e o HibernateUtil… ??? faco com esses dois o apenas um persistence.xml ?
valeu[/quote]
Use o persistence.xml apenas se você for utilizar a especificação JPA.
Com o Hibernate-core (sem Spring) você vai precisar do hibernate.cfg.xml. Se for usar o Spring, ai deixa tudo no applicationContext.xml.
A minha dica é que você siga por partes. Olha como funciona com o cfg.xml, olhe como funciona com o Spring, olha com o esquema de DataSource e assim vai. Tudo isso está bem explicado no site oficial do Hibernate
[quote=fabioebner]legal mas e a parte do hibernate.cf e o HibernateUtil… ??? faco com esses dois o apenas um persistence.xml ?
valeu[/quote]
Depende da sua escolha.
1- Se usar o hibernate sem JPA pode usar o hibernate.cf e o seu HibernateUtil, mas usando annotations pra mapear ao invés de xml. Você usando o hibernate annotations, não significa que está usando JPA ok?!
2- Usar hibernate com JPA com seu persistence.xml
3- Usar hibernate annotations sem JPA com o Spring, e aí não precisará do hibernate.cfg, todas as informações de configuração ficará no applicationContext.xml que é o documento de configuração do spring.
4- Usar hibernate com JPA e o Spring, nesse caso você configura o persistence.xml normalmente, e informa sua PU (Unit Persistence) dentro do applicationContext.xml
Atualmente no trabalho utilizo a opção 3, e estou desenvolvendo um projeto por fora e estou usando a opção 4.
[]'s Hewerton Crisóstomo