`

关于Spring整合Hibernate中自动建表问题(hbm2ddl.auto)

 
阅读更多

1、在单独的使用Hibernate时,在Hibernate映射文件(*.hbm.xml)中配置好各个类的关系,然后再Hibernate配置文件(hibernate.cfg.xml)中添加属性可以自动在数据库中创建表结构(注:只能创建表,而非创建库)。

主要代码如下:

 

 

<!--自动在数据库中建立表 -->
       <property name="hbm2ddl.auto">create</property>

 

2、在我使用spring mvc 整合hibernate时,代码如下:

 

<property name="hibernateProperties">
                 <props>
                      <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
                      <prop key="hibernate.show_sql">true</prop>
                      <prop key="hbm2ddl.auto">create</prop>
                 </props>
           </property>
      </bean> 

 

 

运行程序,提示 * 表不存在,可见自动建表并未成功。

 

 

3、解决方法。

<property name="hibernateProperties">
                 <props>
                      <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
                      <prop key="hibernate.show_sql">true</prop>
                      <prop key="hibernate.hbm2ddl.auto">create</prop>
                 </props>
           </property>
      </bean> 

 

分析:可能是在spring配置文件中,并不识别“hbm2ddl.auto”项,所以该项配置根本没起到作用,而使用“hibernate.hbm2ddl.auto”,spring的配置文件是可以识别的,问题得到解决。期待有更权威的解释。

分享到:
评论
1 楼 s1318601 2011-12-22  
用注解方式还有以下代码
<property name="packagesToScan">
<list>
   <value>com.domain.*</value>
</list>
</property>

相关推荐

    详解hibernate自动创建表的配置

    综上所述,通过正确配置`hibernate.hbm2ddl.auto`、实体类扫描和数据源,可以实现Hibernate自动创建和管理数据库表的功能,极大地简化了开发过程。但务必注意,在生产环境中谨慎使用`create`和`create-drop`,以防止...

    SSH高质量整合.Spring注解标签,项目启动自动建表.

    在SSH整合中,项目启动自动建表功能通常通过Hibernate的`hibernate.hbm2ddl.auto`配置属性实现。这个属性可以设置为"create"、"update"等值,使得每次应用启动时,Hibernate会根据实体类自动生成或更新数据库表结构...

    Spring3+hibernate4+Struts2图书管理系统

    2.修改applicationContext.xml文件中hibernate.hbm2ddl.auto的值为create而不是update 3.修改数据库的连接信息(数据库,用户名,密码) 4.部署到Tomcat服务器上面,然后运行 5.在浏览器中输入...

    hibernate325ga+struts2011+spring25实现crud

    我的SSH的框架 本框架选用的技术struts2.0.11,hibernate...改为&lt;prop key="hibernate.hbm2ddl.auto"&gt;create即可自动创建表 我自己写的,jar包在word中的图片里,可自己从网上下载 转载时,请保留版权信息:失忆空间所著

    Spring整合hibernate(2)之基于HibernateTemplate的整合

    &lt;prop key="hibernate.hbm2ddl.auto"&gt;update ``` 2. 配置HibernateTemplate 接着,配置HibernateTemplate bean,并将其与SessionFactory关联。 ```xml &lt;bean id="hibernateTemplate" class="org.spring...

    spring+hibernate整合实现简单数据库添加记录

    这通常涉及到配置数据源、Hibernate的属性(如hbm2ddl.auto)、以及SessionFactory bean。 2. **配置Transaction Manager**:Spring提供PlatformTransactionManager接口来管理事务。在与Hibernate整合时,我们通常...

    Spring-hibernate结合使用全xml配置方式

    &lt;prop key="hibernate.hbm2ddl.auto"&gt;update &lt;value&gt;com/example/Entity1.hbm.xml&lt;/value&gt; &lt;value&gt;com/example/Entity2.hbm.xml&lt;/value&gt; ``` 配置完成后,需要创建HibernateTemplate或...

    struts2 spring hibernate整合要点、注意点

    &lt;prop key="hibernate.hbm2ddl.auto"&gt;update ``` **3. struts.xml配置** `struts.xml` 是Struts2的核心配置文件,用于配置Action类及其结果页面等。 ```xml &lt;!DOCTYPE struts PUBLIC "-//Apache ...

    新闻发布系统 Struts+Hibernate+Spring

    新闻发布系统 使用的平台是MyEclipse10.5....&lt;prop key="hibernate.hbm2ddl.auto"&gt;update 第一次运行时请将update修改为create 让他自动生成表结构。以后启动把他修改回update就不用每次都重新生成表结构了。

    三大框架整合(Spring+Hibernate+Struts1/Struts2)

    &lt;prop key="hibernate.hbm2ddl.auto"&gt;update &lt;!-- 提供映射文件路径 --&gt; &lt;value&gt;com/handson/entity/User.hbm.xml&lt;/value&gt; &lt;value&gt;com/handson/entity/Group.hbm.xml&lt;/value&gt; &lt;value&gt;...

    HIBERNATE:Hibernate 学习一--注解方式自动建表

    - 在Hibernate的配置文件(hibernate.cfg.xml)中,可以通过`hbm2ddl.auto`属性控制对数据库的操作。当设置为`create`时,每次启动应用都会清空并重新创建表;设置为`update`则会在已有表基础上更新结构,而`...

    Struts+Spring+Hibernate注解零配置整合

    4. **Hibernate Configuration**:可能通过`hibernate.hbm2ddl.auto`属性自动创建或更新数据库表结构,无需编写XML映射文件。 5. **Transaction Management**:Spring的@Transactional注解在方法级别控制事务,确保...

    Struts2+Spring+Hibernate+MySQL整合

    12. **配置Hibernate SessionFactory**:在Spring配置文件中,定义SessionFactory Bean,设置Hibernate的相关属性,如hibernate.dialect和hibernate.hbm2ddl.auto。 13. **实体类和映射文件**:创建Java类代表...

    详细解释Spring与Hibernate的整合原理

    &lt;prop key="hibernate.hbm2ddl.auto"&gt;update &lt;value&gt;com.example.Person&lt;/value&gt; ``` 通过这种方式,我们可以完全利用 Spring 的 IoC 容器来管理 Hibernate 的配置和数据源,从而实现更高效、更简洁...

    精通Java EE项目案例--基于Eclipse Spring Struts Hibernate (例子中的初始化SQL)

    在实际应用中,开发者通常会在项目的初始化阶段运行这些SQL语句,例如在使用Spring的`SchemaExport`工具或者Hibernate的`hibernate.hbm2ddl.auto`配置属性时。这些语句可能包括创建表、设置约束、插入测试数据等操作...

    springboot集成hibernate

    properties.setProperty("hibernate.hbm2ddl.auto", "update"); properties.setProperty("hibernate.show_sql", "true"); return properties; } } ``` 然后,我们可以创建一个DAO接口,例如`UserDAO`,并实现该...

    现有Mysql数据库,写Spring + Hibernate的配置文件

    &lt;prop key="hibernate.hbm2ddl.auto"&gt;update &lt;bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"&gt; ``` 然后,定义实体类(Entity),这些类代表...

    strtus2+Spring+hibernate整合通过实体类生成数据库表

    6. **生成数据库表**:使用Hibernate的工具,如`hbm2ddl.auto`配置,可以设置为`create`或`update`,在应用启动时自动根据实体类生成或更新数据库表。 7. **编写业务逻辑**:在Service层实现业务逻辑,通过...

    Spring与Hibernate的整合

    这些映射文件通常是以`.hbm.xml`或`.hbm2ddl.xml`的形式存储的。 #### 三、整合步骤 ##### 1. 导入Spring框架 - 选择所需的Spring JAR包:包括AOP、Core、JDBC、Web、Persistence Core等。为了方便项目的移植,...

    Spring中使用Hibernate

    &lt;prop key="hibernate.hbm2ddl.auto"&gt;update &lt;!-- 其他Hibernate配置 --&gt; &lt;value&gt;com/example/yourentity/YourEntity.hbm.xml&lt;/value&gt; &lt;!-- 添加所有实体类的映射文件 --&gt; ``` 然后,配置数据源...

Global site tag (gtag.js) - Google Analytics