<property name="hbm2ddl.auto">create</property>

本文详细介绍了Hibernate配置文件中的hbm2ddl.auto属性及其四种取值:create、create-drop、update和validate的作用,并说明了这些设置如何影响数据库表的创建与更新过程。

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

首先介绍其中的一个属性hbm2ddl.auto,这个就是这个方案的核心属性,有四个值:create,create-drop,update,validate;
 
<!-- 启动时删数据库中的表,然后创建,退出时不删除数据表
 
<property name="hibernate.hbm2ddl.auto">create</property>-->
 
<!--
也表示创建,只不过再系统关闭前执行一下drop
-->
 
<property name="hibernate.hbm2ddl.auto">create-drop</property>-->
 
<!-- 自动修改,如果表结构与实体类不一致,那么就修改表使它们一致,数据会保留
 
<property name="hibernate.hbm2ddl.auto">update</property>-->
 
<!-- 自动校验,如果表结构与实体类不一致,那么不做任何操作,报错
 
<property name="hibernate.hbm2ddl.auto">validate</property>-->
 
 
本来这个属性的产生是为了测试数据的,我觉得利用这个自动建表非常方便。利用这段代码:
 
<property name="hibernate.hbm2ddl.auto">create</property>
 

    但是,在实际开发中却会碰到无法自动创建数据库表的情况,其中一种情况是:由于实体类的属性中出现了sql关键字,hibernate将不会生成ddl来创建表结构。


转载自:http://blog.sina.com.cn/s/blog_a0e7e34c01017rdm.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值