`

Hibernate之hibernate.hbm2ddl.auto

    博客分类:
  • Java
阅读更多

详细介绍:http://www.jroller.com/eyallupu/entry/hibernate_s_hbm2ddl_tool

 

hibernate.hbm2ddl.auto:指定应用程序在运行时,当产生SessionFactory实例化时对是否有自动检索数据结构,或者将数据库schema的DDL导出到数据库。可选值有:validate(检查数据库结构)、update(数据库结构发生变化时修改)、create(建数据库schema的DDL导出数据库)、create_drop(在SessionFactory实例化时创建时将数据库schema的DDL导出数据库结构,在SessionFactory被显示关闭时将数据库删除)

 

对于 hbm2dll.auto 各个取值的意义如下:

        1.create-drop : hibernate一开始就发送一个drop语句,再执行create语句创建表,当sessionFactory关闭时又执行drop语句删除表。结果就是,当表存在时,首先会被drop掉,然后又创建,最终被drop,如果表不存在,一开始虽然hibernate还是会发送drop语句,当时因为表不存在而drop失败。

        2.create:hibernate首先会发送一个drop语句,如果表存在则会被drop掉,然后hibernate再发送create语句创建表。 

        3.update:hibernate会首先查询数据库看是否存在此表,如果存在则不管,如果不存在则会先发送一个create语句创建一个表。

      4.validate:每次插入数据之前都会验证数据库中的表结构和hbm文件的结构是否一致。如果表不存在,则报错。

分享到:
评论

相关推荐

    hibernate.hbm2ddl.auto属性详解

    详解hibernate.hbm2ddl.atuo 属性的配置

    hibernate3 配置hbm2ddl和hbm2java所需jar

    要使用hbm2ddl,你需要在Hibernate配置文件(如hibernate.cfg.xml)中启用auto-import属性,并指定对应的schema更新策略。 2. hbm2java: hbm2java工具则将Hibernate的映射文件转换为Java实体类。这些实体类是与...

    详解hibernate自动创建表的配置

    首先,我们要关注的关键配置项是`hibernate.hbm2ddl.auto`。这个属性决定了Hibernate在启动时如何处理数据库的元数据,即表结构。以下四个值是它可能的取值: 1. **update**:这是最常用的设置,当设置为`update`时...

    Hibernate常用操作示例

    Hibernate常用操作示例,包含详细注释说明,数据库初始化文件。使用和学习请参考:http://blog.csdn.net/daijin888888/article/details/51692942

    hbm2ddl属性hbm2ddl属性

    <property name="hibernate.hbm2ddl.auto">create ``` 这样,每当应用程序启动时,Hibernate都会检查`User`实体类并自动创建名为`users`的表。 2. **更改实体类**:如果我们决定为`User`实体添加一个新的字段`...

    hibernate.cfg.xml文件

    5. **hibernate.hbm2ddl.auto**:此属性决定了Hibernate在启动时如何处理数据库模式。例如,`create`表示每次启动时都创建新表,`update`则更新已有表结构,`validate`验证表结构是否匹配,`none`则不做任何操作。 ...

    hibernate--5.Hibernate配置文件详解-2

    <property name="hibernate.hbm2ddl.auto">update ``` 这个属性可以设置为`create`、`create-drop`、`update`或`validate`,根据项目的需要调整。 最后,文件还会包含SessionFactory的创建,这是Hibernate的核心...

    hibernate_reference1.rar_配置文件

    - `<property name="hibernate.hbm2ddl.auto">`: 自动创建、更新或验证数据库表结构,如`create-drop`、`update`等。 在实际开发中,开发者可以根据项目需求调整这些配置,以实现最佳性能和功能。例如,生产环境中...

    javaee 书上的Customer程序

    怎样运用Hibernate hibernate.dialect=org.hibernate.dialect.SQLServerDialect hibernate.connection.driver_class=... hibernate.hbm2ddl.auto=create hibernate.show_sql=true

    hibernate.properties

    #hibernate.hbm2ddl.auto create-drop #hibernate.hbm2ddl.auto create #hibernate.hbm2ddl.auto update #hibernate.hbm2ddl.auto validate ## specify a default schema and catalog for unqualified tablenames ...

    Spring3+hibernate4+Struts2图书管理系统

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

    oracle的hibernate配置文件

    `hibernate.hbm2ddl.auto`控制数据库表的自动管理,`update`表示在启动时更新数据库结构。`hibernate.show_sql`开启后,Hibernate会打印执行的SQL语句。 3. SessionFactory配置: SessionFactory是Hibernate的...

    hibernate325ga+struts2011+spring25实现crud

    部署时,可修改web-inf/config/spring/applicationContext.xml文件,修改相应的数据库信息,把把<prop key="hibernate.hbm2ddl.auto">update 改为<prop key="hibernate.hbm2ddl.auto">create即可自动创建表 我自己写的...

    Hibernate3所有包和配置文件

    - `hibernate.hbm2ddl.auto`: 自动创建、更新或验证数据库表结构,常用于开发环境。 5. **使用流程**: - 创建实体类并编写.hbm.xml映射文件。 - 配置hibernate.cfg.xml,设定数据库连接信息。 - 初始化...

    Hibernate开发jar包

    <property name="hibernate.hbm2ddl.auto">update <!-- 配置C3P0的连接池 --> <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider <!-- 映射配置文件 -...

    hibernate完整配置文件

    7. `hbm2ddl.auto`: 自动处理数据库表的策略,可选`create`、`create-drop`、`update`或`validate`。 除了核心配置文件外,Hibernate还需要实体类的映射文件(通常以`.hbm.xml`为扩展名),这些文件定义了Java类与...

    Hibernate.cfg.xml常用配置总结.pdf

    3. **Hbm2ddl.auto**: 这个属性决定了 Hibernate 如何自动管理数据库的元数据。有以下几种模式: - `create`: 每次启动应用时,Hibernate 会删除现有的表并重新创建它们,这会导致数据丢失。 - `update`: ...

    HibernateTools-3.2.0.GA

    1. **逆向工程(Reverse Engineering)**:Hibernate Tools可以从现有的数据库模式自动生成对应的Java持久化类(POJOs),Entity Beans,以及Hibernate的配置文件(hbm.xml)。这大大减少了手动编写这些代码的工作量...

    Hibernate配置数据源.

    spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect ``` 这种方式不仅使得配置更加灵活,也便于后期维护和调整。 ##### 3. 利用现有的容器管理的...

    Hibernate动态建表

    这涉及到`org.hibernate.tool.hbm2ddl.SchemaExport`类,它负责处理`hibernate.hbm2ddl.auto`的各个选项,并调用数据库方言(Dialect)来生成符合特定数据库语法的SQL。 **工具支持** 对于大型项目,除了直接在代码...

Global site tag (gtag.js) - Google Analytics