Estoy tratando de ejecutar un hello world para: Spring/Hibernate con HSQLDB y el grupo de conexiones C3PO. el mismo código funciona con mySQL (solo con diferente dialecto y controlador)'hibernate.dialect' debe establecerse cuando no hay conexión disponible
He ejecutado la base de datos y puedo conectarme a ella con la GUI de swing. Pero cuando intento ejecutar mi aplicación, aparece un error de inicio. Aquí están los detalles:
1: el error -
INFORMACIÓN: La inicialización de la primavera WebApplicationContext raíz [ERROR] [piscina-2-hilo-1 05:20:08] (JDBCExceptionReporter.java: logExceptions: 101) ¡Las conexiones no pudieron ser adquiridas de la base de datos subyacente! [ERROR] [pool-2-thread-1 05:20:08] (ContextLoader.java:initWebApplicationContext:220) Falló la inicialización del contexto org.springframework.beans.factory.BeanCreationException: Error al crear bean con el nombre 'sessionFactory' definido en el recurso ServletContext [/WEB-INF/hibernate-context.xml]: Error en la invocación del método init; la excepción anidada es org.hibernate.HibernateException: 'hibernate.dialect' se debe establecer cuando no hay conexión disponible en org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1420) en org.springframework.beans .factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:519) ... ...
2: hibernate-context.xml -
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.gleeb.sample.model" />
<property name="hibernateProperties">
<props>
<!-- <prop key="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop> -->
<prop key="dialect">org.hibernate.dialect.HSQLDialect</prop>
<prop key="show_sql">false</prop>
<prop key="hbm2ddl.auto">create</prop>
</props>
</property>
</bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close" p:driverClass="org.hsqldb.jdbc.JDBCDriver"
p:jdbcUrl="jdbc:hsqldb:hsql://localhost/testdb" p:user="sa"
p:password="" p:acquireIncrement="5" p:idleConnectionTestPeriod="60"
p:maxPoolSize="100" p:maxStatements="50" p:minPoolSize="10" />
<!-- Declare a transaction manager -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager"
p:sessionFactory-ref="sessionFactory" />
Sorprendentemente hizo algo. no soluciono el problema, pero ahora me sale: [ERROR] [pool-2-thread-1 06:03:04] (JDBCExceptionReporter.java:logExceptions:101) ¡Las conexiones no se pudieron adquirir desde la base de datos subyacente !, pero yo soy seguro que no tiene nada que ver con el problema real que se esconde debajo de allí. – Gleeb
@gleeb Escriba un programa simple usando JDBC para conectarse a su HSQL DB y vea si eso funciona. Eso podría eliminar al menos un problema – Sudhakar
Ejecute el servidor con silent = false y verifique el intento de conexión.Pruebe p: user = "SA" – fredt