Conexão Hibernate/Firebird

5 respostas
C

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

J

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

C

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.

J

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…

C

Valeu Hewerton…

Vou dar uma pesquisada…

Se souber de algo dá um tok…

abraço!!!

C

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