0

春に次の休止状態の設定があり、サーバーは長時間起動しますが、DB に接続しません (DB にスキーマがありません)。したがって、エラー メッセージを表示するか、 でスキーマを作成することを想定していました<prop key="hibernate.hbm2ddl.auto">create</prop>

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method = "close"> 
    <property name="driverClass" value="com.mysql.jdbc.Driver"/>
    <property name="jdbcUrl" value="jdbc:mysql://dburl:3306"/>
    <property name="user" value="user"/>
    <property name="password" value="pass!"/>
</bean>


<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

    <property name="mappingResources">
        <list>
            <value>waf/resources/User.hbm.xml</value>
            <value>waf/resources/Post.hbm.xml</value>
            <value>waf/resources/Position.hbm.xml</value>
            <value>waf/resources/Comment.hbm.xml</value>
        </list>
    </property>

    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.hbm2ddl.auto">validate</prop>
            <!-- C3P0 CONNECTION POOL -->
            <prop key="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</prop>              
            <prop key="c3p0.acquire_increment">1</prop>             
            <prop key="c3p0.idle_test_period">100</prop>
            <prop key="c3p0.max_size">20</prop>
            <prop key="c3p0.max_statements">50</prop>
            <prop key="c3p0.min_size">1</prop>
            <prop key="c3p0.timeout">10</prop>
        </props>
    </property>
    <property name="dataSource">
        <ref bean="dataSource"/>
    </property>
</bean>

<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
    <property name="sessionFactory">
        <ref bean="sessionFactory"/>
    </property> 
</bean>

皆さん、私を助けてくれませんか?

4

3 に答える 3

0

接続プール(c3poが言及されている)を使用している場合に他の人が提案したものに加えて、セッションファクトリが作成されている間、接続プールに裏打ちされたデータソースを使用しようとします。プール接続。データベースに接続しないと言うとき、どうやってそれを知っていますか?ログにエラーはありますか?Hibernateセッションファクトリがそれ自体を設定できない場合、ログにエラーがスローされることを確認しました。

于 2012-09-18T13:12:49.820 に答える
0

HBM ファイルを調べると、以下のように指定されています。

作成ではなく検証

これでDDLが作成されないことを願っています。それを確認していただけますか?それとも問題のタイプミスですか?

于 2012-09-13T19:26:36.533 に答える
0

Hibernate は でスキーマを作成しませんhbm2ddl.auto。|を作成するだけです。作成-ドロップ | などのテーブル。

于 2012-09-13T19:23:42.343 に答える