Sto provando a eseguire un ciao mondo per: Spring/Hibernate con pool di connessioni HSQLDB e C3PO. lo stesso codice funziona con mySQL (solo con dialetto e driver diversi)'hibernate.dialect' deve essere impostato quando nessuna connessione disponibile
Ho eseguito il database e posso collegarlo ad esso con la GUI swing. Ma quando provo a eseguire la mia applicazione, sto ricevendo un errore di avvio. Ecco i dettagli:
1: l'errore -
INFORMAZIONI: Inizializzazione Spring radice WebApplicationContext [ERRORE] [pool-2-thread-1 05:20:08] (JDBCExceptionReporter.java: logExceptions: 101) Non è stato possibile acquisire le connessioni dal database sottostante! [ERRORE] [pool-2-thread-1 05:20:08] (ContextLoader.java:initWebApplicationContext:220) Inizializzazione del contesto non riuscita org.springframework.beans.factory.BeanCreationException: errore durante la creazione del bean con il nome 'sessionFactory' definito nella risorsa ServletContext [/WEB-INF/hibernate-context.xml]: invocazione del metodo init fallita; l'eccezione nidificata è org.hibernate.HibernateException: 'hibernate.dialect' deve essere impostato quando nessuna connessione è disponibile in org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1420) all'indirizzo 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" />
Incredibilmente ha fatto qualcosa. non risolve il problema ma ora ottengo: [ERRORE] [pool-2-thread-1 06:03:04] (JDBCExceptionReporter.java:logExceptions:101) Le connessioni non potevano essere acquisite dal database sottostante !, ma io sono certo che non ha nulla a che fare con il vero problema che sta nascondendo lì sotto. – Gleeb
@gleeb Scrivere un semplice programma usando JDBC per connettersi al proprio DB HSQL e vedere se funziona. Ciò potrebbe almeno eliminare un problema – Sudhakar
Eseguire il server con silent = false e controllare il tentativo di connessione.Prova p: user = "SA" – fredt