Problemas com o Hiberclipse

Pessoal,
o Hiberclipse funciona com o Firebird?
Estou usando o Eclipse 3.0.1 e coloquei os .jar do firebird no meu projeto, instalei o Hiberclipse, coloquei nas propriedades do projeto(parte do HiberClipse) os valores “org.firebirdsql.jdbc.FBDriver” em Driver e “C:\JDBC\FireBird\firebirdsql.jar” em JDBC Driver. Coloquei o hibernate.properties na pasta do meu projeto com a seguinte configuração:

FireBird

hibernate.dialect cirrus.hibernate.sql.InterbaseDialect
hibernate.connection.driver_class org.firebirdsql.jdbc.FBDriver
hibernate.connection.url jdbc:firebirdsql:localhost/3050:D:/Dados/Interbase/BPEAM/AcervoGeral-LIB/Alibdbs1.gdb
hibernate.connection.username SYSDBA
hibernate.connection.password masterkey

Quando vou no “Relationship View” e coloco “Create Hibernate mapping files”, dá a seguinte mensagem de erro: createHibernateMappingActions. Só isso e um botão de OK.
Estou fazendo alguma coisa errada ou o Hiberclipse não suporta o Firebird?

Estou usando o j2sdk e j2re na versão 1.4.2_07. Instalei o Hiberclipse através do “Softwqare Updates” do Eclipse(url=http://hiberclipse.sourceforge.net/siteupdate_3)

Obrigado.
Herlen

E a versão do Firebird é 1.5, com o jdbc para 1.5 tbm.

Valeu

boa pergunta :slight_smile:

nunca testei com firebird, deixa eu testar e depois te respondo.

Olá,

Funcionou, Firebird 1.5 e Eclipse 3.0.1. Porém não leu os relacionamentos… os *.hbm.xml ficam somente com as propriedades.

Nas propriedades do projeto eu coloquei:

pacote: portal.test.model

Driver: org.firebirdsql.jdbc.FBDriver
URL: jdbc:firebirdsql:localhost/3050:C:/db/FIREBIRD.FDB
Username: SYSDBA
Senha: masterkey
Schema: em branco

JDBC Driver: F:\java\db\firebirdsql-full.jar

Coloque o firebirdsql-full.jar, somente o firebirdsql.jar não funcionou.

Primeiro clique em test connection nas propriedades do projeto. Se funcionar tente o “Show relationships”, e depois o “Create mapping files”…

Em caso de erro veja em Window->Show View->Other->PDE Runtime->Error log. Se tiver alguma stack manda pra mim.

abraço

Beleza, Ricardo.
Nada melhor do que falar com o pai da criança.
Deu certo a conexão, mostrou as tabelas(aqui mostrou também os relacionamentos) quando eu cliquei em “Shoe Relationships” deu certo também criar os arquivos de mapeamentos do hibernate quando eu cliquei em “Create mapping files”. Mas na hora que eu clico em Hiberclipse–>“Code Generator”, dá a seguinte mensagem de erro no Error Log:

? 1 Mar 11, 2005 08:29:13.184 getProjectSourceString() not found : SQLMagazine

No Console, dá o erro:
08:29:17,480 INFO Generator:95 - Generating 1 in SQLMagazine
java.lang.NullPointerException
at net.sf.hibernate.tool.hbm2java.BasicRenderer.isPropertySet(BasicRenderer.java:611)
at net.sf.hibernate.tool.hbm2java.BasicRenderer.generateConcreteEmptyClasses(BasicRenderer.java:332)
at net.sf.hibernate.tool.hbm2java.BasicRenderer.render(BasicRenderer.java:59)
at net.sf.hibernate.tool.hbm2java.Generator.write(Generator.java:138)
at net.sf.hibernate.tool.hbm2java.Generator.writeRecur(Generator.java:115)
at net.sf.hibernate.tool.hbm2java.Generator.generate(Generator.java:104)
at net.sf.hibernate.tool.hbm2java.CodeGenerator.main(CodeGenerator.java:125)

Estou fazendo alguma besteira? Esqueci de configurar alguma coisa?
Muitíssimo obrigado pela ajuda que você está dando,
Herlen

Aliás, parabéns pelo excelente trabalho com essa ferramenta. Ela será muito útil par mim e para muita gente por aí.

Valeu,
Herlen

Herlen,

Como está configurado seu projeto? Ele possui um “source folder”?

por exemplo: file->new>source folder…

Pela cara do erro, deu um problema na hora do hiberclipse descobrir qual era o diretório que fica os fontes.

[quote=ricardolecheta]Herlen,

Como está configurado seu projeto? Ele possui um “source folder”?

por exemplo: file->new>source folder…

Pela cara do erro, deu um problema na hora do hiberclipse descobrir qual era o diretório que fica os fontes.[/quote]

Ricardo. Fui incluir um source folder como vc falou e começou a dar uns erros estranhos aqui no eclipse. Tipo a gente mandar criar uma Package e ele Criar um Folder. Resolvi então criar um novo projeto e fazer tudo novamente. Dessa vez não aconteceu o erro anterior. Deu o erro abaixo:
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: log\test.log (The system cannot find the path specified)
at java.io.FileOutputStream.openAppend(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:177)
at java.io.FileOutputStream.(FileOutputStream.java:102)
at java.io.FileWriter.(FileWriter.java:61)
at org.apache.log4j.FileAppender.setFile(FileAppender.java:316)
at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:182)
at org.apache.log4j.PropertyConfigurator.configureOptionHandler(PropertyConfigurator.java:451)
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:585)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:555)
at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:462)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:388)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:414)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:345)
at org.apache.log4j.Category.(Category.java:160)
at org.apache.commons.logging.impl.Log4JLogger.(Log4JLogger.java:102)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
at net.sf.hibernate.tool.hbm2java.CodeGenerator.(CodeGenerator.java:32)
java.lang.ExceptionInInitializerError
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.reflect.InvocationTargetException
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
at net.sf.hibernate.tool.hbm2java.CodeGenerator.(CodeGenerator.java:32)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
… 4 more
Caused by: java.lang.VerifyError: (class: org/apache/log4j/LogManager, method: signature: ()V) Incompatible argument to function
at org.apache.log4j.Logger.getLogger(Logger.java:85)
at org.apache.commons.logging.impl.Log4JLogger.(Log4JLogger.java:102)
… 9 more
Exception in thread “main”

Então eu criei o folder log abaixo do meu projeto. Agora está dando o erro:
java.lang.ExceptionInInitializerError
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.reflect.InvocationTargetException
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
at net.sf.hibernate.tool.hbm2java.CodeGenerator.(CodeGenerator.java:32)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
… 4 more
Caused by: java.lang.VerifyError: (class: org/apache/log4j/LogManager, method: signature: ()V) Incompatible argument to function
at org.apache.log4j.Logger.getLogger(Logger.java:85)
at org.apache.commons.logging.impl.Log4JLogger.(Log4JLogger.java:102)
… 9 more
Exception in thread “main”

Foi criado um arquivo test.log dentro do folder log, mas ele está vazio.

sinistro, bom agora não é mais do hiberclipse :slight_smile:

qual sua versão do Hibernate e Hibernate Tools?~

 hibernate.dialect cirrus.hibernate.sql.InterbaseDialect 

Pelo pacote “cirrus.hibernate” da de ver que vc está utilizando uma versão antiga do hibernate, tente atualizar para uma mais nova, por exemplo 2.1.8…

este VerifyError acontece quando vc está utilizando uma versão incorreta dos jars.

Estava utilizando a versão 2.1.4.
Vou atualizar agora para 2.1.8.

Valeu.

[quote=herlencosta]Estava utilizando a versão 2.1.4.
Vou atualizar agora para 2.1.8.

Valeu.
[/quote]

não precisa. Acho que não é esse o problema.

Rodrigo. Sei que já não é mais da sua ossada, pois aparentemente o Hiberclipse está funcionando corretamente. Mase se vc puder me ajudar, lá vai. Continua dando o erro:

no error log:
getProjectSourceString() not found : TesteHibernate

An exception stack trace could not be found.

no console dá:
java.lang.ExceptionInInitializerError
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.VerifyError: (class: org/apache/log4j/LogManager, method: signature: ()V) Incompatible argument to function (Caused by java.lang.VerifyError: (class: org/apache/log4j/LogManager, method: signature: ()V) Incompatible argument to function)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:538)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at net.sf.hibernate.tool.hbm2java.CodeGenerator.(CodeGenerator.java:32)
Caused by: java.lang.VerifyError: (class: org/apache/log4j/LogManager, method: signature: ()V) Incompatible argument to function
at org.apache.log4j.Logger.getLogger(Logger.java:85)
at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:229)
at org.apache.commons.logging.impl.Log4JLogger.(Log4JLogger.java:65)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
… 4 more
Exception in thread “main”

Alguns passos para vc fazer:

1 - File -> new -> Project -> Java project
precisa ser um projeto java

  1. File -> new -> source folder

  2. Coloque no classpath todos os jars do hibernate 2.1.4.

  3. Coloque o hibernate-tools.jar e jdom.jar no classpath tb

5 - Agora nao tem erro.

VerifyError é devido as versões do jar.

Rodrigo,
instalei o pacote do Eclipse da IBM e funcionou. Algumas classes foram geradas com alguns erros(Tipo propriedades geradas mais de uma vez e os respectivos gets e sets duplicados). Eu consertei na mão esses probleminhas. Agora estou com o seguinte problema: Na hora de abrir o Ddoc.hbm.xml está dando o erro abaixo. Sei que ele consegue encontrar o Ddoc.hbm.xml, pois se eu tirá-lo da pasta ele dá a mensagem de arquivo não encontrado. Isso me leva a crer que é algum problema no arquivo Ddoc.hbm.xml, após o erro está a descrição do respectivo arquivo. Vc poderia ver o que há de errado com ele?

exception

org.apache.jasper.JasperException: net.sf.hibernate.MappingException: Error reading resource: dto/Ddoc.hbm.xml
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

java.lang.RuntimeException: net.sf.hibernate.MappingException: Error reading resource: dto/Ddoc.hbm.xml
bd.ConnectionFactory.(ConnectionFactory.java:71)
bd.ConnectionFactory.getInstance(ConnectionFactory.java:105)
bd.DdocService.getDdocList(DdocService.java:198)
org.apache.jsp.pages.respostapesquisa_jsp._jspService(respostapesquisa_jsp.java:122)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Arquivo Ddoc.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>

Obrigado,
Herlen

Acho que encontrei o problema, mas não a solução, hehehe

No trecho a seguir, do arquivo Ddoc.hbm.xml gerado pelo hiberclipse, possui uma referência para a classe dto.DdocPK, a qual não foi gerada pelo Hiberclipse. Vc saberia dizer porque? Vou tentar gerar tudo novamente para ver se dessa vez ele gera todas as classes.

Algums outros arquibvos de mapeamento hbm.xml que fazem referência a classes *PK foram criados e outros não.

Desculpa, Ricardo, encontrei as classes *PK geradas. O erro continua com aquele Ddoc.hbm.xml. Vou tentar descobrir o que é. Se vc tiver alguma dica, agradeço.

Valeu,
Herlen

Eu acho que a classe dto.DdocPK vai ser gerada quando vc gerar o CodeGenerator…

Ela foi gerada, tinha sido engano meu. Não tinha conseguido achá-la. Desculpa. O problema que está acontecendo agora é que na minha classe connection factory(connectionfactory.java), na ao passar pela linha de comando “Configuration cfg = new Configuration().addClass(dto.Sistema.class);” dá o erro abaixo. Note que eu mudei a classe Ddoc para Sistema, pois essa classe é mais simples e não faz referência a nenhuma outra classe. Dá o mesmo erro que estava dando na Ddoc. Estou achando que é o hbm.xml mal formado. o Sistema.hbm.xml está logo após o erro. Vc poderia dar uma olhada nele para ver se está ok e se é ele que está causando o erro abaixo?

Obrigado,
Herlen

exception

org.apache.jasper.JasperException: net.sf.hibernate.MappingException: Error reading resource: dto/Sistema.hbm.xml
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

java.lang.RuntimeException: net.sf.hibernate.MappingException: Error reading resource: dto/Sistema.hbm.xml
bd.ConnectionFactory.(ConnectionFactory.java:184)
bd.ConnectionFactory.getInstance(ConnectionFactory.java:218)
bd.DdocService.getDdocList(DdocService.java:198)
org.apache.jsp.pages.respostapesquisa_jsp._jspService(respostapesquisa_jsp.java:122)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Arquivo Sistema.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>