Hola! Estoy intentando realizar una aplicación con el netbeans, utilizando struts e hibernate y me sale un error en el momento de conectar la base de datos.
Mi clase HibernateUtil es la siguiente:
public class HibernateUtil {
private static SessionFactory sessionFactory = null;
static {
try {
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
ex.printStackTrace();
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static Session getSession (){
return HibernateUtil.getSessionFactory().getCurrentSessio n();
}
}
y mi hibernate.cfg.xml es:
<property name="hibernate.connection.driver_class">org.fireb irdsql.jdbc.FBDriver </property>
<property name="hibernate.connection.url"> jdbc:firebirdsql:localhost:INTRANETIFOUR</property>
<property name="hibernate.dialect"> org.hibernate.dialect.FirebirdDialect </property>
<property name="hibernate.connection.password">#k@ssike!</property>
<property name="hibernate.connection.username">CACIQUE</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.No CacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
así pues, he colocado el archivo "jaybird-full-2.0.1" para que interprete el dialecto de FireBird en mi carpeta "lib".
He colocado el archivo "INTRANETIFOUR.FDB" que corresponde a la base de datos en "C:\INTRANETIFOUR.FDB", y he añadido la línia
"INTRANETIFOUR = c:\INTRANETIFOUR.fdb" en el documento "aliases" dentro del directorio de "Firebird". Esos son todos los pasos que he realizado, desconozco si estan correctamente y supongo que deben ser similares a los realizados con otro dialecto. Si alguién puede ayudarme...
El error que me sale es el siguiente:
javax.servlet.ServletException: Cannot open connection
org.apache.struts.action.RequestProcessor.processE xception(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processA ctionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:362)
causa raíz
org.hibernate.exception.GenericJDBCException: Cannot open connection
org.hibernate.exception.SQLStateConverter.handledN onSpecificException(SQLStateConverter.java:103)
org.hibernate.exception.SQLStateConverter.convert( SQLStateConverter.java:91)
org.hibernate.exception.JDBCExceptionHelper.conver t(JDBCExceptionHelper.java:43)
org.hibernate.exception.JDBCExceptionHelper.conver t(JDBCExceptionHelper.java:29)
org.hibernate.jdbc.ConnectionManager.openConnectio n(ConnectionManager.java:420)
org.hibernate.jdbc.ConnectionManager.getConnection (ConnectionManager.java:144)
org.hibernate.jdbc.JDBCContext.connection(JDBCCont ext.java:129)
org.hibernate.transaction.JDBCTransaction.begin(JD BCTransaction.java:57)
org.hibernate.impl.SessionImpl.beginTransaction(Se ssionImpl.java:1290)
sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.hibernate.context.ThreadLocalSessionContext$Tr ansactionProtectionWrapper.invoke(ThreadLocalSessi onContext.java:301)
$Proxy0.beginTransaction(Unknown Source)
com.myapp.struts.Persistencia.FuncionarioDAO.recup eraFuncionari(FuncionarioDAO.java:45)
com.myapp.struts.ValidateEmployeeAction.execute(Va lidateEmployeeAction.java:31)
org.apache.struts.action.RequestProcessor.processA ctionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
org.netbeans.modules.web.monitor.server.MonitorFil ter.doFilter(MonitorFilter.java:362)
gracias!