2014-02-13 4 views
3

У меня есть проект весны, где я использую спящий режим. Когда я начинаю проект, изменений в db нет.Hibernate не создает таблицу - весна MVC

Я пробую разницу конфигураций, но ничего не работал.

Любые идеи, что может быть неправильным?

Hibernate, это настроить в servlet.xml:

<beans:beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" 
     xmlns:beans="http://www.springframework.org/schema/beans"> 

<context:component-scan base-package="com.springapp.mvc"/> 

<!--Data source has the database information --> 
<beans:bean id="dataSource" 
      class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <beans:property name="driverClassName" value="org.postgresql.Driver"/> 
    <beans:property name="url" value="jdbc:postgresql://localhost:5432/Praktyki"/> 
    <beans:property name="username" value="dbusersolsoft"/> 
    <beans:property name="password" value="dbpassSolsoft"/> 
</beans:bean> 

<!-- Session Factory --> 


<beans:bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
    <beans:property name="dataSource" ref="dataSource"/> 
    <beans:property name="packagesToScan"> 
      <value>com.springapp.mvc.model</value> 
    </beans:property> 
    <!--<beans:property name="showSql" value="true" />--> 
    <!--<beans:property name="generateDdl" value="true" />--> 
    <beans:property name="hibernateProperties"> 

     <beans:props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop> 
      <prop key="hibernate.hbm2ddl.auto">update</prop> 
      <prop key="hibernate.show_sql">false</prop> 
     </beans:props> 
    </beans:property> 


</beans:bean> 

<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" /> 

+0

Вы пробовали '<проп ключ =«hibernate.hbm2ddl.auto»значение =«обновление»/>' –

+0

@KevinBowersox неправильный синтаксис, я не могу использовать, что –

ответ

5

использование

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

Согласно документации, обновление обновляет существующую схему.

link для справки.

Короче говоря,

validate: validate the schema, makes no changes to the database. 

update: update the schema. 

create: creates the schema, destroying previous data. 

create-drop: drop the schema at the end of the session. 

auto : Automatically validates or exports schema DDL to the database when the SessionFactory is created 
1

Создать проект сразу, прежде чем начать проект и двигаться дальше. Большинство приложений предполагают, что схема существует априори при их запуске.

+1

<проп ключ = «hibernate.hbm2ddl.auto» > update должен создать таблицу на основе аннотаций. В не весеннем приложении, когда я настраивал все в файле hibernate.cfg.xml, он работал, но теперь у меня проблемы. –

+0

Я знаю, что он должен делать; не делай этого. – duffymo

-1

В случае, если вы выполнили все процедуры правильно, но по-прежнему получаю сообщение об ошибке, проверьте, является ли «hibernate.dialect» установлен в MySQL5Dialect в случае, если вы используете MySQL в качестве базы данных.

Смежные вопросы