Pessoal estou começando a usar o Hibernate, com o Eclipse 301 com o Plugin Hibernate Synchronizer, na propriedades-> Java build Path já adicionei todas as jars que estão na lib do Hibernate são uma porrada nem sei se precissa de todas, ai eu sigo o modelo do site: http://www.onjava.com/pub/a/onjava/2005/01/05/hibernate.html
Escolho uma tabela e mando fazer o Synchronizer Files, me cria todas as classes, e eu crio uma classe com o método main para testa-la ex.
public static void main(String[] args) {
_RootDAO.initialize();
DvdDAO dvdDAO = new DvdDAO();
Dvd dvd = new Dvd();
dvd.setDono("Alexandre");
dvd.setStatus("disponivel");
dvd.setTitulo("O sonhador");
dvdDAO.save(dvd);
System.out.println(dvd.getId());
}
}
quando mando rodar me essa mensagem de erro.
Exception in thread “main” java.lang.Error: Unresolved compilation problem:
HibernateException cannot be resolved (or is not an exception type) for the method initialize
at br.com.hibernate.base._BaseRootDAO.initialize(_BaseRootDAO.java:12)
at Teste.main(Teste.java:21)
Descobrir um dos problemas, estava faltando o jar hibernate2.jar que fica fora da lib, só que quando mando rodar ele gera esses erros:
net.sf.hibernate.TransactionException: Could not find UserTransaction in JNDI:
at net.sf.hibernate.transaction.JTATransaction.begin(JTATransaction.java:137)
at net.sf.hibernate.transaction.JTATransactionFactory.beginTransaction(JTATransactionFactory.java:58)
at net.sf.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:2251)
at br.com.teste.base._BaseRootDAO.beginTransaction(_BaseRootDAO.java:193)
at br.com.teste.base._BaseRootDAO.save(_BaseRootDAO.java:604)
at br.com.teste.base.BaseDvdDAO.save(BaseDvdDAO.java:60)
at TestarHiber.main(TestarHiber.java:19)
Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at net.sf.hibernate.transaction.JTATransaction.begin(JTATransaction.java:133)
… 6 more
Pessoal sei que aqui no PJ o pessoal é fera no Hibernate, dêem uma ajuda, também estou querendo usar esse framework.
Pronto! pessoal consiguir resolver o problema e por o bicho para funcionar, o problema estava no hibernate.cfg.xml:
<?xml version=“1.0” encoding=“utf-8”?>
<!DOCTYPE hibernate-configuration
PUBLIC “-//Hibernate/Hibernate Configuration DTD//EN”
“http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd”>