Pessoal, estou iniciando os estudos com hibernate e estou utilizando o tutorial "Introdução ao hibernate 3" aqui do guj. Acontece que ao executar o teste com o arquivo Teste.java, acontece o seguinte erro:
Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/DocumentException
at HibernateUtility.<clinit>(HibernateUtility.java:27)
at Teste.main(Teste.java:6)
Alguém sabe o que devo fazer? Envio o código Teste.java e HibernateUtility.java a seguir:
importorg.hibernate.Session;importorg.hibernate.Transaction;publicclassTeste{publicstaticvoidmain(String[]args){Sessionsessao=HibernateUtility.getSession();//Abrindo uma sessãoTransactiontransaction=sessao.beginTransaction();//Iniciando uma transaçãoCursocurso=newCurso();//Instanciando um objeto transientecurso.setNome("Desenvolvimento de Software");//Preenchendo as propriedades do objetocurso.setDescricao("Curso só pra programadores");sessao.save(curso);//Transformando o objeto transiente em um objeto//persistente no banco de dadostransaction.commit();//Finalizando a transaçãosessao.close();//Fechando a sessão}}
importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.cfg.Configuration;/** * @author Maurício * * Código desenvolvido por Maurício Linhares * */publicclassHibernateUtility{privatestaticSessionFactoryfactory;static{//Bloco estático que inicializa o Hibernatetry{factory=newConfiguration().configure().buildSessionFactory();}catch(Exceptione){e.printStackTrace();factory=null;}}publicstaticSessiongetSession(){//Retorna a sessão abertareturnfactory.openSession();}}
Você precisa adicionar o arquivo dom4j-xxx.jar em seu CLASSPATH.
Espero ter ajudado.
E
emanoeltadeu
Bem, após ter configurado o CLASSPATH direitim, ele dá agora o seguinte erro:
09:48:48,359 WARN JDBCExceptionReporter:77 - SQL Error: 0, SQLState: 42P01
09:48:48,360 ERROR JDBCExceptionReporter:78 - ERROR: relation “curso” does not exist
Exception in thread “main” org.hibernate.exception.SQLGrammarException: could not fetch initial value for increment generator
De acordo com o tutorial, criei um arquivo Curso.hbm.xml que se relaciona com o arquivo Disciplina.hbm.xml. O que devo fazer, aonde devo “mexer” pra corrigir o erro?
R
RicardoLuis
Cole aqui sua classe Curso e Disciplina, bem como seus hbms, para que possa ser feita uma análise melhor do erro.
E
emanoeltadeu
Curso.java:
importjava.util.Set;publicclassCurso{privateStringdescricao;privateStringnome;privateSetdisciplinas;privateIntegerid;/** * @return Returns the id. */publicIntegergetId(){returnid;}/** * @param id The id to set. */publicvoidsetId(Integerid){this.id=id;}/** * @return Returns the descricao. */publicStringgetDescricao(){returndescricao;}/** * @param descricao The descricao to set. */publicvoidsetDescricao(Stringdescricao){this.descricao=descricao;}/** * @return Returns the disciplinas. */publicSetgetDisciplinas(){returndisciplinas;}/** * @param disciplinas The disciplinas to set. */publicvoidsetDisciplinas(Setdisciplinas){this.disciplinas=disciplinas;}/** * @return Returns the nome. */publicStringgetNome(){returnnome;}/** * @param nome The nome to set. */publicvoidsetNome(Stringnome){this.nome=nome;}}
importjava.util.Set;publicclassDisciplina{privateStringnome;privateStringementa;privateSetturmas;privateCursocurso;privateIntegerid;/** * @return Returns the id. */publicIntegergetId(){returnid;}/** * @param id The id to set. */publicvoidsetId(Integerid){this.id=id;}/** * @return Returns the curso. */publicCursogetCurso(){returncurso;}/** * @param curso The curso to set. */publicvoidsetCurso(Cursocurso){this.curso=curso;}/** * @return Returns the ementa. */publicStringgetEmenta(){returnementa;}/** * @param ementa The ementa to set. */publicvoidsetEmenta(Stringementa){this.ementa=ementa;}/** * @return Returns the nome. */publicStringgetNome(){returnnome;}/** * @param nome The nome to set. */publicvoidsetNome(Stringnome){this.nome=nome;}/** * @return Returns the turmas. */publicSetgetTurmas(){returnturmas;}/** * @param turmas The turmas to set. */publicvoidsetTurmas(Setturmas){this.turmas=turmas;}}
10:22:49,554 WARN JDBCExceptionReporter:77 - SQL Error: 0, SQLState: 42P01
10:22:49,555 ERROR JDBCExceptionReporter:78 - ERROR: relation “curso” does not exist
Exception in thread “main” org.hibernate.exception.SQLGrammarException: could not fetch initial value for increment generator
E
emanoeltadeu
tentei postar por várias vezes o hibernate.cfg.xml e o guj deu erro:
An error has occurred.
For detailed error information, please see the HTML source code, and contact the forum Administrator.
org.htmlparser.nodes.RemarkNode
E
emanoeltadeu
taí o meu hibernate.cfg.xml. será q tem algo de errado nele?
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><propertyname="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect
</property><propertyname="hibernate.connection.driver_class">org.postgresql.Driver
</property><propertyname="hibernate.connection.url">jdbc:postgresql://localhost:5432/universidade
<!--jdbc:mysql://localhost/hibernate?autoReconnect=true--></property><propertyname="hibernate.connection.username">postgres
</property><propertyname="hibernate.connection.password">netel
</property><!-- Condiguração do c3p0 --><propertyname="hibernate.c3p0.max_size">10</property><propertyname="hibernate.c3p0.min_size">2</property><propertyname="hibernate.c3p0.timeout">5000</property><propertyname="hibernate.c3p0.max_statements">10</property><propertyname="hibernate.c3p0.idle_test_period">3000</property><propertyname="hibernate.c3p0.acquire_increment">2</property><!-- Configurações de debug --><propertyname="show_sql">true</property><propertyname="use_outer_join">true</property><propertyname="hibernate.generate_statistics">true</property><propertyname="hibernate.use_sql_comments">true</property><mappingresource="Curso.hbm.xml"/><mappingresource="Disciplina.hbm.xml"/><mappingresource="Turma.hbm.xml"/><mappingresource="Pessoa.hbm.xml"/><mappingresource="Aluno.hbm.xml"/><mappingresource="Professor.hbm.xml"/><mappingresource="Endereco.hbm.xml"/></session-factory></hibernate-configuration>
cado
o hibernate.cfg.xml ta no mesmo diretorio do Curso.hbm.xml??