`
xinklabi
  • 浏览: 1567606 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步。

如何使用呢?很简单,只要在hibernate.cfg.xml里加上如下代码

Xml代码<property name="hbm2ddl.auto">update</property>  

 

update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表;如果表里缺少列,则自动添加列。

还有其他的参数: 
create:启动hibernate时,自动删除原来的表,新建所有的表,所以每次启动后的以前数据都会丢失。

create-drop:启动hibernate时,自动创建表,程序关闭时,自动把相应的表都删除。所以程序结束时,表和数据也不会再存在。

PS:数据库要预先建立好,因为hibernate只会建表,不会建库

==========================================


表结构和数据总是在程序执行的时候无端的修改,折腾了好长时间,查了很长时间hibernate的数据库映射文件和接口程序,始终没有发现有什么错误,到最后才发现了它!
           <property name="hibernate.hbm2ddl.auto" value="update" />
解释如下:

hibernate.hbm2ddl.auto Automatically validate or export schema DDL to the database when the SessionFactory is created. With create-drop, the database schema will be dropped when the SessionFactory is closed explicitly. eg. validate | update | create | create-drop

其实这个参数的作用主要用于:自动创建|更新|验证数据库表结构。
如果没有此方面的需求建议set value="none".

其它几个参数的意思:

validate               加载hibernate时,验证创建数据库表结构
create                  每次加载hibernate,重新创建数据库表结构
create-drop        加载hibernate时创建,退出是删除表结构
update                 加载hibernate自动更新数据库结构

如果发现数据库表丢失或新增,请检查hibernate.hbm2ddl.auto的配置 可设置 <property name="hibernate.hbm2ddl.auto" value="none" />

建议在开发环境下使用,在生产环境下去掉。

 

优点:

1、自动创建新表

2、自动创建新字段

3、自动修改字段类型

 

缺点:

1、不会自动删除表

2、不会自动删除字段

3、自动创建的新字段只能是在最后。

 

针对缺点的建议:定期把数据库清空(删除所有表),然后启动项目,让hibernate自动创建表结构和索引,当然一些初始化数据需要手工导入。

分享到:
评论

相关推荐

    hibernate利用配置文件反向生成数据库所有配置文件及方法

    hibernate利用配置文件,实体关系数据库映射文件及数据库配置相关文件) 反向生成数据库所有配置文件, 及其所需的几个文件所有详细代码

    根据hibernate配置文件生成数据库.zip

    根据hibernate配置文件生成数据库.zip

    根据数据库表生成实体、hibernate配置文件和实体映射文件

    根据数据库表生成实体、hibernate配置文件和实体映射文件

    Hibernate自动生成配置文件

    Hibernate在MyEclipse下连接数据库并生成配置文件

    自动生成hibernate映射文件和实体类

    4. 在使用 MyEclipse 自动生成 Hibernate 映射文件和实体类时,需要创建数据库连接和相应的表,然后选择需要添加 Hibernate 映像文件的工程,最后进行反转工程操作。 使用 MyEclipse 自动生成 Hibernate 映射文件和...

    hibernate 配置文件 java类 生成工具

    改进如下: 1. 增加了多数据类型的支持; 2. 增加了toJson 方法,可以将对象转换为 json数据格式;...7. 完美支持数据库注解自动生成到配置文件和JAVABEAN 下个版本的计划: 1.增加数据库列表功能 2.增加主键策略

    Hibernate的配置文件及代码类生成工具

    修改完配置文件中数据库链接字符串后,直接运行exe文件,可以看到数据库中全部数据表列表,选择需要生成的数据表,再选择生成后文件的存放路径,点击生成按钮即可. --------- 本人转自网络,如有版权限止,请告知.

    hibernate配置文件工具

    1.自动生成hibernate配置文件 和 javaBean,以及HTML表单文件; 2.支持读取数据库表和字段的中文注释信息; 3.可以选择数据库; 4.可以选择表,hibernate 主键策略; 5.可以设置生成的 javaBean 的 package 路径...

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

    Hibernate中根据数据库中各表,使用myEclipse的返向工程,自动生成hibernate.cfg.xml 配置文件 与person.hbm.xml映射文件和持久化类 (图文介绍)

    Hibernate根据数据库表生成持久化类和映射文件

    Hibernate中根据数据库中各表,使用myEclipse的返向工程,自动生成hibernate.cfg.xml 配置文件 与person.hbm.xml映射文件和持久化类 (图文介绍)

    Hibernate自动生成

    Hibernate自动生成文件,可以通过myeclipse自动配置Hibernate文件以及各种Dao包中的增删修改方法

    Hibernate不同数据库的连接及SQL方言

    Hibernate不同数据库的连接及SQL方言 在Hibernate中,连接不同的数据库需要使用不同的数据库连接驱动程序和SQL方言。下面我们将详细介绍如何在...通过配置文件中的设置,我们可以轻松地连接和操作不同的数据库。

    hibernate映射文件--主键生成策略[参考].pdf

    Hibernate.cfg.xml配置文件是Hibernate框架中的一部分,该文件用于配置Hibernate的各种设置,例如数据库连接、dialect、mapping文件等。在这个文件中,我们可以看到hibernate-configuration的配置,包括session-...

    Hibernate实践例子程序

    2. Hibernate Extention,用来自动生成与那些*.hbm.xml对应的POJO,也就是根据那些对象关系映射的配置文件生成相应的class文件。 HibernateEx里面有一个hbm2java工具,就是用来根据些配置文件生成相应的POJO class。...

    hibernate基础实验

    掌握Hibernate的基本功能和基本用法 通过Hibernate将一个Java对象插入到数据库表中 ...(5) 可以利用Hibernate框架根据配置和类及映射文件生成数据库表结构,反过来,也可以根据数据库表结构生成持久化类和映射文件。

    myeclipse自动生成hibernate映射文件

    每个数据表对应的其实是一个实体类,每个实体类有一个对应的hbm.xml配置文件匹配,myeclipse中有个MyEclipse Database Explorer视图,它提供了myeclipse与数据库直接连接的内置窗口,并且通过此窗口可以生成...

    java小工具(批量产生代码,生成pojo,hibernate配置文件等)

    于是试着动手写了一个可以把数据库表自动写成pojo类,并且产生hibernate配置文件。虽然不是什么比较高级的程序,但是我希望也能对大家有一些帮助。不要吃我当时的闭门羹,算是给朋友们,提供一个思路吧。 备注:运行...

    Hibernate 多数据库支持解决方案

    Hibernate多数据库支持解决方案 一、 去掉数据库级的...三、 配置文件的加载 四、 大字段处理 五、 hibernate主键生成器(数值型主键操作方法) 六、 Oracle 转换 SQL Server 2000注意 七、 对UTF-8数据库的特殊处理

    ssh2(struts2+spring2.5+hibernate3.3)自动生成模版

    1.每次自动生成的代码都是一次性全部初始化生成,对于二次开发的人员来讲,需要对自己想要指定的单表(数据库表)进行生成(bean,hbm.xml,dao.service,action)时,该插件无法做到,我想了一下,作者应该会考虑到这一点吧,...

    Hibernate关系映射XML生成工具

    Middlegen-Hibernate-r5 Hibernate关系映射XML生成工具,MYSQL数据库的生成配置文件已经做好。

Global site tag (gtag.js) - Google Analytics