© 版權聲明:本文為博主原創文章,轉載請注明出處
1.問題描述:
Spring4整合Hibernate5時,不再使用hibernate.cfg.xml,將其內容整合到Spring配置文件中,啟動后不能自動創建表結構
2.解決方案:
設置hibernateProperties時,需要設置hibernate前綴
原本設置,不能自動創建表結構
<!-- 配置Hibernate相關屬性 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!-- 注入連接池 -->
<property name="dataSource" ref="dataSource"/>
<!-- 配置Hibernate屬性 -->
<property name="hibernateProperties">
<props>
<prop key="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop><!-- 方言 -->
<prop key="hbm2ddl.auto">update</prop><!-- 是否自動創建數據庫表結構 -->
<prop key="show_sql">true</prop><!-- 是否展示SQL -->
</props>
</property>
<!-- 掃描並加載注解的實體類 -->
<property name="packagesToScan" value="org.*.model"/>
</bean>
修改后設置,可以自動創建表結構
<!-- 配置Hibernate相關屬性 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!-- 注入連接池 -->
<property name="dataSource" ref="dataSource"/>
<!-- 配置Hibernate屬性 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop><!-- 方言 -->
<prop key="hibernate.hbm2ddl.auto">update</prop><!-- 是否自動創建數據庫表結構 -->
<prop key="hibernate.show_sql">true</prop><!-- 是否展示SQL -->
</props>
</property>
<!-- 掃描並加載注解的實體類 -->
<property name="packagesToScan" value="org.*.model"/>
</bean>
