У меня странная проблема с использованием 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 только для создания таблиц.Я также мог бы создать таблицу вручную, но какой смысл использовать эти фреймворки?
Я уверен, что где-то что-то делаю не так, но не могу найти это.Консоль выдает сообщение об ошибке, в котором говорится, что нет таблицы с именем « имя таблицы », поэтому она успешно подключается к БД.
Спасибо за ваше время:)