Spring4整合Hibernate5时不能自动生成表结构

? 版权声明:本文为博主原创文章,转载请注明出处

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>
时间: 2024-08-02 05:10:46

Spring4整合Hibernate5时不能自动生成表结构的相关文章

Hibernate框架hibernate.cfg.xml配置文件,配置自动生成表结构策略。

<property name="hbm2ddl.auto"></property> key -- hbm2ddl.auto:自动生成表结构策略 value -- update(使用最多):当数据库不存在表时,hibernate启动后会自动生成表结构. 当数据库表存在时,如果一样,则只会写入数据,不会改变表结构. 当数据库表存在时,如果不一样,则会修改表结构,原有的表结构不会改变.  create(很少):无论表结构是否存在,hibernate启动后都会重新生成表

Hibernate使用自定义脚本替换注解或者xml文件中的自动生成表结构

本文作者:苏生米沿 本文地址:http://blog.csdn.net/sushengmiyan/article/details/50534361 我们都清楚,可以使用hibernate的metadata元数据生成表结构,但是一般情况下,我们光靠hibernate的自动生成是远远不够的,我们期待使用自己的sql脚本,你hibernate自动执行那个脚本就可以.那么hibernate支持不支持呢?答案是yes! 只需要我们做以下设置: <property name="hibernate.hb

Activiti+oracle 启动项目时不能自动建表或更新表的问题分析及解决办法

现象描述:按照正常配置,第一次启动时不能自动建表 关键配置片段如下: <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"> <property name="dataSource" ref="dataSource" /> <property name=&q

yii2自动生成表单

视图中: 1.要use的两个文件类 use yii\helpers\Html;   use yii\widgets\ActiveForm; 2.生成表单,以添加商品为例说明.注意红线区域:上传文件需要注意的地方一级表单中有textarea文本域的使用 yii2自动生成表单

hibernate 项目启动时总会自动创建表

hibernate 项目启动时总会自动创建表,造成以下错误 Caused by: java.sql.SQLSyntaxErrorException: ORA-00955: 名称已由现有对象使用 经验证,是方言使用错误导致的.项目使用的数据库版本为Oracle11g,方言应该使用  org.hibernate.dialect.Oracle10gDialect 修改配置如下: jpa: show-sql: true database-platform: org.hibernate.dialect.O

菜鸟学SSH(十二)——Hibernate与Spring配合生成表结构

前几天向大家介绍了一种用工具类生成数据表的方法,只是之前的方法须要使用一个跟项目关系不大的工具类.不免让人认为有些多余,所以呢.今天再向大家介绍一种方法.即Hibernate与Spring配合生成表结构. 首先.要将Spring的信息配置的web.xml.配置Spring用于初始化容器对象的监听器. web.xml <? xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="ht

菜鸟学SSH(十一)——Hibernate之SchemaExport+配置文件生成表结构

今天说点基础的东西,说说怎样通过SchemaExport跟Hibernate的配置文件生成表结构.事实上方法很easy,仅仅须要两个配置文件,两个Java类就能够完毕. 首先要生成表,得先有实体类,以Person.java为例: /** * * @author Administrator * @hibernate.class table="T_Person" */ public class Person { /** * @hibernate.id * generator-class=&

生成表结构数据库文档sql语句

CREATE PROCEDURE [dbo].[生成表结构数据库文档]ASBEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here SELECT 表名 = Case When A.colorder=1 Then D.name Else ''

根据表名生成表结构 含 主键

------------------------------------------ 根据表名生成表结构 含 主键----------------------------------------declare @TableName varchar(255) set @TableName = 'bao_color' --'company'----------------------------------------declare @str varchar(max)         set @st