Boa tarde pessoal,
Estou tentando fazer uma aplicação web utilizando JPA com Hibernate e banco de dados Firebird 2.1.
Ao rodar a aplicação recebo o seguinte erro:
HTTP Status 500 -
________________________________
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet.init() for servlet ConceitoServlet threw exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:619)
root cause
javax.persistence.PersistenceException: [PersistenceUnit: JSVWEBPU] Unable to build EntityManagerFactory
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
br.com.pcsbrasil.entities.conceito.ConceitoServlet.init(ConceitoServlet.java:32)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:619)
root cause
org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)
org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
br.com.pcsbrasil.entities.conceito.ConceitoServlet.init(ConceitoServlet.java:32)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:619)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
Segundo pelo que entendi pelo erro org.hibernate.HibernateException: Hibernate Dialect must be explicitly set é preciso setar o dialeto do banco, algo que está impelmentado no web.xml conforme abaixo:
<persistence-unit name="JSVWEBPU" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>br.com.pcsbrasil.entities.conceito.Conceito</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.connection.url" value="jdbc:firebirdsql:localhost/3050:C:\\PCS\\DADOS\\LOJA.FDB?charSet=UTF-8/"/>
<property name="hibernate.connection.password" value="masterkey"/>
<property name="hibernate.connection.username" value="sysdba"/>
<property name="hibernate.connection.dialect" value="org.hibernate.dialect.FirebirdDialect"/>
<property name="hibernate.connection.driver_class" value="org.firebirdsql.jdbc.FBDriver"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
</properties>
</persistence-unit>
A título de teste e utilizando dos recursos disponíveis no JPA, fiz um outro persistence-unit conectando no MySQL e roda perfeitamente.
Alguém já conseguiu essa conexão no Firebird 2.1?
Abraços