Hibernate не создает мои таблицы - PullRequest
4 голосов
/ 03 января 2012

У меня странная проблема с использованием Spring и Hibernate.Я начал использовать Hibernate, используя это в hibernate.cfg.xml:

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

Он работал нормально, и Hibernate успешно создал таблицы, необходимые в базе данных.Сейчас я использую Spring, и мой bean-компонент, используемый для hibernate в 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, но Spring их не создает.Я попробовал с create-drop вместо create (на всякий случай, если кто-то спросит).Моя схема БД изменилась с тех пор, как я использовал Hibernate, и я использую в коде большое количество getBeans("...");, поэтому меня беспокоит повторное использование моей версии только для Hibernate только для создания таблиц.Я также мог бы создать таблицу вручную, но какой смысл использовать эти фреймворки?

Я уверен, что где-то что-то делаю не так, но не могу найти это.Консоль выдает сообщение об ошибке, в котором говорится, что нет таблицы с именем « имя таблицы », поэтому она успешно подключается к БД.

Спасибо за ваше время:)

Ответы [ 2 ]

13 голосов
/ 03 января 2012

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

DLL = библиотека динамических ссылок

DDL = язык определения данных

1 голос
/ 03 января 2012

В вашем коде есть опечатка

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

в решении

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...