0

最近、Common DBCP から Tomcat JDBC Connection Pool に移行することにしました。Bean の説明を変更し (Spring 3.1 + hibernate 4 + tomcat を使用)、Web アプリの起動時に次の問題に直面しました。

HHH000342: クエリ メタデータへの接続を取得できませんでした: com.mysql.jdbc.Driver

そして、アプリからdbにクエリを実行しようとすると、次のようになります:

23:04:40,021 警告 [http-bio-8080-exec-10] spi.SqlExceptionHelper:(SqlExceptionHelper.java:143) - SQL エラー: 0、SQLState: null

23:04:40,022 エラー [http-bio-8080-exec-10] spi.SqlExceptionHelper:(SqlExceptionHelper.java:144) - com.mysql.jdbc.Driver

ハイバネートが接続を取得できないが、接続が表示されないため、構成に何か問題があったに違いありません。正しい方向に私を向けることができれば、本当に感謝しています。

これが私のデータソース Bean 定義の一部です

<bean id="jdbcDataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-              method="close"    
    p:driverClassName="com.mysql.jdbc.Driver"
p:url="jdbc:mysql://127.0.0.1:3306/test"
p:username="root"
p:password="test" 
p:defaultAutoCommit="false"
p:maxActive="100"
p:maxIdle="100"
    p:minIdle="10"
p:initialSize="10"
p:maxWait="30000"
p:testWhileIdle="true"   
p:validationInterval="60000"
p:validationQuery="SELECT 1"                
p:timeBetweenEvictionRunsMillis="60000"
p:minEvictableIdleTimeMillis="600000"
p:maxAge="360000"
/>

これが春のセッションファクトリーと結びつける方法です

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="jdbcDataSource" />...
4

2 に答える 2

0

移行後、lib tomcat-jdbc をクラスパスに追加するのを忘れていました:)今はうまくいきます

于 2012-05-07T04:37:59.007 に答える
0

JDK 6 を使用していることを確認してください。JDK5 の使用が、このエラーの 1 つの原因である可能性があります。

ただし、ここで説明されている問題の回避策があります。

于 2012-05-06T21:31:53.380 に答える