簡體   English   中英

Hibernate不會創建我的表

[英]Hibernate does not create my tables

我使用Spring和Hibernate時遇到了一個奇怪的問題。 我在hibernate.cfg.xml中開始使用Hibernate:

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

它工作正常,Hibernate成功創建了數據庫中所需的表。 現在我使用Spring,我在applicationContext.xml中用於hibernate的bean看起來像這樣:

<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創建的表,但Spring不會創建它們。 我嘗試使用create-drop而不是create (以防萬一有人問)。 自從我使用Hibernate后,我的DB Schema發生了變化,我使用了很多getBeans("..."); 在我的代碼中,所以有點困擾我重用我的Hibernate-only版本只是為了創建表。 我也可以手工創建表,但是使用這些框架有什么意義呢?

我確定我在某處做錯了什么,但我找不到它。 控制台提示錯誤,指出沒有名為“表名” 的表 ,因此它成功連接到數據庫。

謝謝你的時間 :)

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

DLL =動態鏈接庫

DDL =數據定義語言

您的代碼中存在拼寫錯誤

        <prop key="hibernate.hbm2ddl.auto">create</prop> 

在解決方案中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM