`
啸笑天
  • 浏览: 3466035 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

hbm2ddl.auto属性详解(hibernate自动建表)

阅读更多

hibernate配置属性中,hibernate.hbm2ddl.auto可以帮助你实现正向工程,即由java代码生成数据库脚本,进而生成具体的表结构. 

方案一 

 在hibernate.cfg.xml中: 
Java代码 复制代码
  1. <property name="hbm2ddl.auto">create</property> 
它包含4个属性: 
  • create : 会根据你的model类来生成表,但是每次运行都会删除上一次的表,重新生成表,哪怕2次没有任何改变(  每次加载hibernate,重新创建数据库表结构。)
  • create-drop : 根据model类生成表,但是sessionFactory一关闭,表就自动删除( 加载hibernate时创建,退出是删除表结构)
  • update : 最常用的属性,也根据model类生成表,即使表结构改变了,表中的行仍然存在,不会删除以前的行。则在运行应用程序时(第一次),会自动建立起表的结构(前提是先建立好数据库)。要注意的是,当部署到服务器后,表结构是不会被马上建立起来的,是要等应用第一次运行起来后才会( 加载hibernate自动更新数据库结构)
  • validate : 只会和数据库中的表进行比较,不会创建新表,但是会插入新值( 加载hibernate时,验证创建数据库表结构)

方案二 
用自动生成代码后,在/src下面有一个jdbc.properties文件,这里加一句hibernate.hbm2ddl.auto=update。值的可选项同上。

 

分享到:
评论

相关推荐

    hibernate.hbm2ddl.auto属性详解

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

    详解hibernate自动创建表的配置

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

    hbm2ddl属性hbm2ddl属性

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

    hibernate映射主键生成策略native

    #### 四、Hibernate.hbm2ddl.auto属性配置 在Hibernate中,`hibernate.hbm2ddl.auto`属性控制着Hibernate是否自动执行DDL操作。当设置为`create`时,Hibernate会在启动时删除现有表并重新创建新表。这通常用于开发...

    hibernate根据类生成表

    当我们指定了`hibernate.hbm2ddl.auto`属性为`create`或`update`时,Hibernate在启动时会自动检查数据库,如果不存在对应的表,它会根据实体类生成表;如果表已存在,`update`模式下会更新表结构以匹配实体类的变化...

    oracle的hibernate配置文件

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

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

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

    hibernate 配置

    `hibernate.hbm2ddl.auto`属性决定了Hibernate启动时如何处理数据库结构。常见的值有: - `create`:每次启动时都创建新的表,原有数据将丢失。 - `update`:根据映射文件更新表结构,不会删除已有数据。 - `...

    hibernate介绍与动手入门体验

    1. **`hibernate.hbm2ddl.auto`**:该属性定义了Hibernate如何根据实体类自动管理数据库表的生命周期。主要有以下几种模式: - **create**:每次程序启动时都会删除现有的表并重新创建新的表。这种模式通常用于测试...

    用Hibernate自带的工具(DDL2java).doc

    - 选择使用注解的方式进行配置,这通常是在配置文件中的`&lt;property name="hbm2ddl.auto"&gt;update&lt;/property&gt;`设置,同时在`&lt;mapping&gt;`元素中指定注解的类。 4. **添加MySQL驱动依赖**: - 在项目的类路径中添加...

    Hibernate各种表关系映射配置详解

    其中,`hibernate.hbm2ddl.auto`属性用于自动创建或更新数据库表结构,这里设置为`update`意味着在启动应用时,如果表不存在会创建,如果已存在则更新。 接着,我们看多对一关系的映射。在关系型数据库中,多对一...

    hibernate配置示例

    `hbm2ddl.auto`属性控制了是否根据映射文件自动生成或更新数据库表结构,而`show_sql`则决定了是否打印执行的SQL语句。 ### 2. 实体类与映射文件 在Hibernate中,每一个数据库表都对应一个Java实体类。例如,`...

    hibernate配置文件以及类映射文件常用写法1

    `hibernate.hbm2ddl.auto`控制了数据库表的自动创建或更新,如设为`update`,会在启动时更新已有表结构。 类映射文件是将Java类与数据库表进行关联的关键。例如,`Cat.hbm.xml`映射文件会描述`Cat`类与数据库中某...

    经典hibernate配置详解

    - `hibernate.hbm2ddl.auto`: 控制Hibernate自动创建、更新或验证数据库表结构,如`create`、`update`、`validate`或`none`。 - `entity_package_to_scan`: 指定包含实体类的包名,Hibernate会自动扫描这些包下的...

    2023年hibernate知识点详解王成敏.doc

    &lt;property name="hibernate.hbm2ddl.auto"&gt;update &lt;!-- 添加映射文献 --&gt; &lt;mapping resource="cn/itcast/a_hello/Book.hbm.xml"/&gt; &lt;/hibernate-configuration&gt; ``` Hibernate 的映射 Hibernate 的映射是将 ...

    Hibernate的框架的总结

    - `hibernate.hbm2ddl.auto`: 控制Hibernate在启动时是否自动创建或更新数据库表结构。常见的值包括: - `create`: 每次启动应用时都重新创建表结构。 - `create-drop`: 启动时创建表结构,在应用关闭时删除表...

    Hibernate3所有包和配置文件

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

    hibernate笔记

    - **配置 hibernate.cfg.xml**:这是Hibernate的核心配置文件,包含了数据库连接信息、方言设置(如MySQLDialect)、自动建表策略(如hbm2ddl.auto)和日志显示等属性。 - **自动建表策略**:`hbm2ddl.auto` 属性...

Global site tag (gtag.js) - Google Analytics