Conexão Hibernate/Firebird

5 respostas
crpablo

Blz galerinha…

To tentando fazer a conexão com o firebird usando o hibernate, mas sempre gera a mesma exception… uso o Derby e o MySql e funciona tudo ok… mas com o firebird tá dificil…

Erro:

<blockquote>Exception in thread main java.lang.ExceptionInInitializerError

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at br.ind.cianet.ciaproxy.dao.DAOFactory.getDAO(DAOFactory.java:39)

at br.ind.cianet.ciaproxy.control.ProxyControl.<init>(ProxyControl.java:33)

at br.ind.cianet.ciaproxy.monitor.MonitorService.<init>(MonitorService.java:47)

at br.ind.cianet.ciaproxy.monitor.MonitorService.getInstance(MonitorService.java:71)

at br.ind.cianet.ciaproxy.socket.ServidorSocket.<init>(ServidorSocket.java:64)

at br.ind.cianet.ciaproxy.CiaProxy.main(CiaProxy.java:68 )

Caused by: javax.persistence.PersistenceException: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set for database: Firebird 2.0

at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:720)

at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:121)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)

at br.ind.cianet.ciaproxy.dao.GenericEJB3DAO.<clinit>(GenericEJB3DAO.java:191) 8 more

Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set for database: Firebird 2.0

at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:62)

at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)

at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:409)

at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:119)

at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2006)

at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1289)

at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:713) 12 more</blockquote>

persistence.xml:

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"&gt; &lt;persistence-unit name="ciasharedPU" transaction-type="RESOURCE_LOCAL"&gt; &lt;class&gt;br.ind.cianet.ciashared.model.PerfilPadrao&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Equipamento&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Mapa&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Valor&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.TipoEquipamentoGenerico&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.TipoVariavel&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Servidor&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Usuario&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Atributo&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Registro&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.BinaryBlobType&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Archive&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.OpcaoEquipamento&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Alarme&lt;/class&gt; &lt;!-- &lt;class&gt;br.ind.cianet.ciashared.model.Equipamento_Alarme&lt;/class&gt; --&gt; &lt;class&gt;br.ind.cianet.ciashared.model.EnderecoIp&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Proxy&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Elemento&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.EnderecoIp&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Equipamento_Atributo&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Equipamento_OpcaoEquipamento&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.PerfilPadrao_Atributo&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Proxy_EnderecoIp&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.TipoEquipamento&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.TipoEquipamento_TipoVariavel&lt;/class&gt; &lt;class&gt;br.ind.cianet.ciashared.model.Usuario_Mapa&lt;/class&gt; &lt;properties&gt; &lt;property name="hibernate.connection.username" value="sysdba" /&gt; &lt;property name="hibernate.connection.driver_class" value="org.firebirdsql.jdbc.FBDriver" /&gt; &lt;property name="hibernate.connection.password" value="masterkey" /&gt; &lt;property name="hibernate.connection.url" value="jdbc:firebirdsql:localhost/3050:C:\FIREBIRD\CIASHARED.GDB" /&gt; &lt;property name="hibernate.connection.dialect" value="org.hibernate.dialect.FirebirdDialect" /&gt; &lt;property name="hibernate.hbm2ddl.auto" value="create" /&gt; &lt;/properties&gt; &lt;/persistence-unit&gt; &lt;/persistence&gt;

Alguém tem idéia do que seja?

[]'s

5 Respostas

Javabuntu

o problema ta aqui:

o dialeto não está funcionando para o Firebird 2.0

esse dialeto:

funciona pro firebird 1.5 normal, mas parece que vc está usando o 2.0 e ai pode ter mudado o dialeto, ele não está conseguindo setar pra ele, se vc usar o firebird 1.5 vai funcionar, procurei e não achei pro 2.0

flw Hewerton

crpablo

Estranho é que conectando direto via jdbc ele funciona com esse dialeto mesmo…

Se vc vai em uma class do projeto e digita org.hibernate.dialect. esse é o único dialeto que tem para o firebird.

Mas vou dar uma olhada se encotro algo sobre dialeto pro 2.0.

Valeu cara.

Javabuntu

eh estranho… realmente esse é o unico dialeto pro firebird, não é que exista outro dialeto, mas pelo erro descrito esse dialeto não está sendo setado pro firebird 2.0, nunca usei o firebird com hibernate, se eu achar algo posto aqui…

ficaria até melhor vai usar um JNDI pra configurar as conexões… dê uma pesquisa sobre isso…

crpablo

Valeu Hewerton…

Vou dar uma pesquisada…

Se souber de algo dá um tok…

abraço!!!

crpablo

Instalei o firebird 1.5 e a exception continuou…

Exception:

<blockquote>Exception in thread main java.lang.ExceptionInInitializerError

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at br.ind.cianet.ciaproxy.dao.DAOFactory.getDAO(DAOFactory.java:39)

at br.ind.cianet.ciaproxy.control.ProxyControl.<init>(ProxyControl.java:33)

at br.ind.cianet.ciaproxy.monitor.MonitorService.<init>(MonitorService.java:47)

at br.ind.cianet.ciaproxy.monitor.MonitorService.getInstance(MonitorService.java:71)

at br.ind.cianet.ciaproxy.socket.ServidorSocket.<init>(ServidorSocket.java:64)

at br.ind.cianet.ciaproxy.CiaProxy.main(CiaProxy.java:68)

Caused by: javax.persistence.PersistenceException: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set for database: Firebird 1.5+WI-V1.5.3.4870 Firebird 1.5/tcp (des03)/P10

at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:720)

at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:121)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)

at br.ind.cianet.ciaproxy.dao.GenericEJB3DAO.<clinit>(GenericEJB3DAO.java:191) 8 more

Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set for database: Firebird 1.5+WI-V1.5.3.4870 Firebird 1.5/tcp (des03)/P10

at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:62)

at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)

at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:409)

at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:119)

at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2006)

at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1289)

at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:713) 12 more</blockquote>

Devo estar fazendo algo errado… =S

Criado 7 de março de 2008
Ultima resposta 7 de mar. de 2008
Respostas 5
Participantes 2