Hibernate 系统自动生成数据库表的两种方法

本文介绍如何使用Hibernate框架自动创建数据库表。通过两种方法实现:一是在配置文件中设置hbm2ddl.auto参数,二是利用SchemaExport类进行表创建。详细解释了不同参数的意义及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于在映射配置文件中对数据库表及其之间的关系都有对应,可以说映射配置文件中包含了数据库表的所有信息,因此Hibernate可以根据映射配置文件自动创建数据库表。
方法一:在Hibernate应用配置文件中配置如下

<hibernate-configuration>
    <session-factory name="foo">
        .........
        <property name="hbm2ddl.auto">update</property>
        <!--
        参数:
        create 每次初始化运行的时候都是先删除存在的表 然后在重新创建
        create-drop 初始化的时候创建新表 当session执行close的时候后删除数据库表
        update  每次运行如果数据库表不存在则创建 表不一样则更新 一样就什么都不做
        validate 验证表结构是否一致 不一致则抛异常 当选用此参数则不允许修改表的设计属性(即比如name String 类型 由长度255 修改为20)
          -->
    </session-factory>
</hibernate-configuration>

方法二:通过类中来创建数据库表

Configuration cfg=new Configuration().configure();
    SchemaExport se=new SchemaExport(cfg);
    //第一个参数 输出DDL到控制台
    //第二个参数 执行DDL语言创建表
    se.create(true, true);

综合比较,个人感觉第一种方法比较好 ,直接配置 符合hibernate习惯。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值