Agora em novo endereço: www.objectzilla.com.br. Atualize-se, este conteúdo será logo removido. Mas não se assuste, como esse texto tem alguma coisa de interessante, eu farei uma versão atualizada lá. E só removerei este texto depois de passar o link aqui.
Bom, resolvi tomar vergonha na cara, e usar o Hibernate embaixo do JPA. A configuração foi um parto, tava acostumado com o Toplink, que vem junto com o Glassfish; quer dizer, acostumado entre aspas, pois o negócio é ruim, MUUUUITO ruim, porque se dá algum erro, não dá pra ter a mínima idéia do que ocorreu. Com o Hibernate não, os logs são detalhados e dá pra descobrir o erro se algum problema ocorre.
Mas repito, o Hibernate é difícil de configurar, têm muitas dependências. O Struts 2, por exemplo, precisa no mínimo os jars struts2, o xwork, o ognl e o commons-logging, só. Já Hibernate, pra rodar standalone (porque eu estou criando um jar, não um aplicativo no servidor) precisa de 14 jars, são:
- ejb3-persistence.jar
- hibernate3.jar
- hibernate-annotations.jar
- hibernate-entitymanager.jar
- jboss-archive-browser.jar
- dom4j-1.6.1.jar
- commons-logging-1.0.4.jar
- hibernate-commons-annotations.jar
- javassist.jar
- commons-collections-2.1.1.jar
- cglib-2.1.3.jar
- asm.jar
- jta.jar
- antlr-2.7.6.jar
Se o Hibernate é assim, mal posso esperar pra ver como se faz pra rodar Seam no Glassfish, vou ter que colocar o JBoss AS inteiro no lib do Glassfish!
Tentei também usar o DbUnit pra testar, mas achei um lixo, não é uma abstração muito boa da base de dados, preferi usar o JUnit 4 mesmo.
Bom, veja como ficou:
