[转]Hibernate自动建表问题

本文详细介绍了Hibernate框架中用于同步数据库表结构的四种不同策略:create-drop、create、update及validate。这些策略决定了Hibernate如何在应用程序启动和关闭时处理数据库表,以及如何应对表结构与映射文件之间的差异。

如果需要Hibernate建表的话我们需要在映射文件(hibernate.cfg.xml)里配置如下信息:
value

注:name = "hbm2ddl" hbm2ddl为hibernateMappingToddl的简写形式,但是写hibernateMappingToddl是不对的。

这个value值有四种情况
1.create-drop 是指hibernate在启动的时候先把表删掉,然后在创建,创建完后在做其他,在程序结束之前即在jvm虚拟机退出之前再把表删掉。
2.create 是指hibernate在初始化的时候先把表删掉,然后在创建,创建后在做其他,在程序结束之前即在jvm虚拟机退出之前不删表。
3.update 是指hibernate在初始化的时候会根据hibernate的映射文件把数据库中表更新一下,假如你映射文件中多了一个字段,它会把这个字段自动添加到数据库中去,但是数据库中原有的数据会保留。
4.validate 是指hibernate在初始化的时候不会改变表结构也不会改变表中数据,但是它会校验,它会把hibernate映射文件和表结构校验一次看它们是否一致,如果不一致它不会修改表结构,它会报异常,然后程序终止,等待你去解决这个问题。

转载于:https://my.oschina.net/leeoo/blog/51053

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值