2012-01-03 23 views
4

SpringとHibernateを使用すると奇妙な問題が発生します。私はhibernate.cfg.xmlで、これを使用して休止状態を使用して開始:それはうまく働いたHibernateがテーブルを作成しません。

<property name="hbm2ddl.auto">create</property> 

、そして成功した休止状態のデータベースに必要なテーブルを作成しました。今、私はapplicationContext.xmlを中に休止状態に使用春、私の豆を使用してい は次のようになります。

<bean id="mySessionFactory" 
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
    <property name="dataSource" ref="myDataSource" /> 
    <property name="mappingResources"> 
     <list> 
      <value>domain/Entity.hbm.xml</value> 
      <value>domain/Service.hbm.xml</value> 
      <value>domain/User.hbm.xml</value> 
      <value>domain/Arcos.hbm.xml</value> 
     </list> 
    </property> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
      <prop key="hibernate.hbm2dll.auto">create</prop> 
     </props> 
    </property> 
</bean> 

私はいくつかの点でHibernateが作成した表を削除しなければならなかったが、春はそれらを作成しません。私はcreateの代わりにcreate-dropを試しました(誰かが尋ねる場合に備えて)。私のDBスキーマはHibernateを使用して以来変更されており、私はgetBeans("...");を自分のコードにたくさん使用していますので、テーブルを作成するためにHibernate専用のバージョンを再利用するのは気になります。私は手でテーブルを作成することもできましたが、これらのフレームワークを使用するポイントは何ですか?

私はどこかで何か間違っていると確信していますが、私はそれを見つけることができません。コンソールには、 "テーブル名"という名前のテーブルがないので、DBに正常に接続するというエラーが表示されます。お時間を

感謝:)

+0

show-sqlを有効にしてみましたか?\t true - それはあなたを助けるかもしれません。 –

+0

IMHOでddlを使用すると、コードをリファクタリングするときに予期しない結果が生じる可能性があります... Liquibaseなどの別のメカニズムを使用してddlを管理することを検討してください。 – aweigold

+0

私はこれを見て、アドバイスをいただきありがとうございます! – Max

答えて

13

hibernate.hbm2dll.auto - >hibernate.hbm2ddl.auto

DLL =ダイナミックリンクライブラリ

DDL =データ定義言語

+0

本当におっと!それが問題を解決したことを指摘してくれてありがとう:) – Max

1

あなたのコード

にタイプミスがあります
 <prop key="hibernate.hbm2ddl.auto">create</prop> 

soluti on

関連する問題