`
greemranqq
  • 浏览: 977541 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

hibernate 自动生成表结构

阅读更多

hibernate 自动生成表结构 方法:

在xx.cfg.xml 里面,或者你用spring 配置的文件,需要属性

<property name="hibernate.hbm2ddl.auto" value=""/> 

 

value 值:validate ,create ,create-drop,update

create:

每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。

create-drop :

每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。

update:

最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等应用第一次运行起来后才会。

validate :

每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。

 

再说点“废话”:

当我们把hibernate.hbm2ddl.auto=create时hibernate先用hbm2ddl来生成数据库schema。

当我们把hibernate.cfg.xml文件中hbm2ddl属性注释掉,这样我们就取消了在启动时用hbm2ddl来生成数据库schema。通常只有在不断重复进行单元测试的时候才需要打开它,但再次运行hbm2ddl会把你保存的一切都删除掉(drop)---- create配置的含义是:“在创建SessionFactory的时候,从scema中drop掉所以的表,再重新创建它们”。

注意,很多Hibernate新手在这一步会失败,我们不时看到关于Table not found错误信息的提问。但是,只要你根据上面描述的步骤来执行,就不会有这个问题,因为hbm2ddl会在第一次运行的时候创建数据库schema,后续的应用程序重启后还能继续使用这个schema。假若你修改了映射,或者修改了数据库schema,你必须把hbm2ddl重新打开一次。

 

转:http://apps.hi.baidu.com/share/detail/34606532


分享到:
评论

相关推荐

    Hibernate自动生成表demo

    最后,为了使Hibernate根据实体类自动生成表,我们需要初始化SessionFactory并进行一些数据库操作。以下是一个简单的启动代码示例: ```java import org.hibernate.SessionFactory; import org.hibernate.boot....

    Hibernate通过配置文件自动生成表

    要让Hibernate自动生成表,我们需要在配置文件中开启自动创建或更新模式。以下是一个示例配置: ```xml &lt;hibernate-configuration&gt; &lt;!-- 数据库连接信息 --&gt; &lt;property name="hibernate.connection.driver_...

    Hibernate自动生成持久化类和映射文件

    "Hibernate自动生成持久化类和映射文件"这个话题主要涉及如何利用myEclipse这款集成开发环境的反向工程功能,快速地根据数据库中的表结构生成对应的Hibernate配置文件、映射文件以及持久化类。下面将详细介绍这一...

    hibernate动态生成表结构

    本文将深入探讨如何利用Hibernate的特性来实现动态生成表结构,以及如何处理表与表之间的关系。 一、Hibernate概述 Hibernate是一个开源的Java库,它的主要功能是将Java类与数据库表进行映射,使得程序员可以使用...

    Hibernate自动创建表结构示例--Oracle

    标题"Hibernate自动创建表结构示例--Oracle"表明我们将使用Hibernate在Oracle数据库中自动生成表结构,这是通过Hibernate的`hibernate.hbm2ddl.auto`配置属性实现的。这个属性可以设置为"create"、"update"、...

    hibernate自动生成数据库文件

    在本例中,`hibernate自动生成数据库文件.exe`可能是Hibernate Tools的一个实现,用于将Java类转换为数据库脚本或直接创建数据库。 2. **逆向工程(Reverse Engineering)**:逆向工程是Hibernate Tools中的一个...

    hibernate代码自动生成

    1. 实体类生成:根据数据库中的表结构,自动生成包含属性(字段)和getter/setter方法的Java实体类。这些实体类代表数据库中的记录,属性对应表的列,getter/setter方法用于获取和设置属性值。 2. 映射文件生成:为...

    hibernate自动生成

    在描述中提到的“hibernate自动生成”是指Hibernate提供的代码生成工具,能够帮助我们快速创建Entity(实体)、映射文件(Mapping Files)以及DAO(数据访问对象)等关键组件。这一特性使得开发过程更加便捷,减少了...

    Hibernate自动生成配置文件

    ### Hibernate自动生成配置文件详解 #### 一、Hibernate与自动生成配置文件的重要性 在Java开发领域,Hibernate作为一款优秀的对象关系映射(Object-Relational Mapping,简称ORM)框架,极大地简化了Java应用与...

    Hibernate 映射文件自动生成

    5. **更新数据库表**:在生成映射文件后,还可以结合Hibernate的SchemaExport工具生成或更新数据库表结构。 这样的自动化过程可以帮助开发者节省大量时间,并且减少人为错误。在实际开发中,例如使用Eclipse或...

    SSH整合(运行项目可自动生成表结构)

    **自动表结构生成**:在SSH整合项目中,常常会用到Hibernate的工具来根据Java实体类自动生成数据库表结构,这大大减少了手动创建表的工作量。开发者只需编写好实体类,然后通过Hibernate的`hbm2ddl.auto`配置属性...

    Hibernate自动生成

    《Hibernate自动生成:简化开发流程与提升效率》 在Java开发中,ORM(Object-Relational Mapping)框架如Hibernate极大地简化了数据库操作,使得开发者能够更专注于业务逻辑而不是底层的数据访问层。其中,...

    hibernate根据字段生成数据库表

    这种情况下,手动为每个数据库创建相同的表结构既耗时又容易出错。Hibernate 提供了一个非常实用的功能——基于实体类自动生成数据库表,这不仅能够显著提高开发效率,还能减少人为错误。本文将详细介绍如何利用 ...

    hibernate的映射表生成器

    标题中的“hibernate的映射表生成器”是一个图形用户界面(GUI)工具,专门设计用于帮助开发者自动生成数据表,其基于对象模型(po)和映射文件(XML文件)。这个工具的出现,极大地提高了开发效率,减少了手动创建...

    hibernate自动生成dao,配置文件等的学习笔记,在myeclipse下实现

    反向工程是Hibernate自动生成代码的关键步骤。通过右键点击已连接的表,选择"Hibernate Reverse Engineering",我们可以启动这个过程。在这个界面中,你可以选择要生成的文件类型: 1. Hbm.xml文件:这是Hibernate...

    hibernate自动生成Pojo

    为此,Hibernate 提供了反向工程(Reverse Engineering)工具,可以自动生成基于数据库表结构的POJO类,极大地提高了开发效率。 `hibernate_tools` 和 `hibernate_extension` 是 Hibernate 提供的扩展和工具集,...

    利用hibernate中的SchemaExport生成数据表

    本篇文章将详细介绍如何利用Hibernate中的`SchemaExport`工具来自动生成数据库表,以此来简化数据库设计过程,提高开发效率。 首先,我们需要了解Hibernate的逆向工程(Reverse Engineering)。在传统的开发流程中...

    hibernate代码生成工具

    通过自动化的方式,它可以自动生成基于Hibernate的实体类、DAO(数据访问对象)层代码以及SQL映射文件,极大地提高了开发效率。 在Java开发中,Hibernate作为一款强大的ORM框架,它允许开发者使用面向对象的方式来...

    Hibernate连接MySql数据库生成表结构

    本教程将详细讲解如何使用Hibernate连接MySQL数据库并自动生成表结构,这是一种相对少见但十分实用的方法。 首先,我们需要确保已安装并配置好以下软件和库: 1. MySQL数据库:确保MySQL服务器已经运行,并创建一个...

    利用hibernate自动生成hbm.xml文件和entity类.doc

    Hibernate 反向工程是指使用 Hibernate 工具将数据库表结构反向生成对应的 Entity 类和 hbm.xml 文件的过程。这种方法可以大大简化开发过程,提高开发效率。 二、 Hibernate 反向工程的步骤 1. 切换到 MyEclipse ...

Global site tag (gtag.js) - Google Analytics