hibernate配置问题

<propertyname="hbm2ddl.auto">create</property>创建表后退出无法自动删除造成很多冗余数据。换成none也只能解决一时的问题。。... <property name="hbm2ddl.auto">create</property> 创建表后退出无法自动删除造成很多冗余数据。换成none也只能解决一时的问题。。求一个合理解释分不是问题。 展开
 我来答
我要查一下
2012-09-06 · TA获得超过129个赞
知道答主
回答量:125
采纳率:0%
帮助的人:62.9万
展开全部
对于 hbm2dll.auto 各个取值的意义如下:

1.create-drop : hibernate一开始就发送一个drop语句,再执行create语句创建表,当sessionFactory关闭时又执行drop语句删除表。结果就是,当表存在时,首先会被drop掉,然后又创建,最终被drop,如果表不存在,一开始虽然hibernate还是会发送drop语句,当时因为表不存在而drop失败。

2.create:hibernate首先会发送一个drop语句,如果表存在则会被drop掉,然后hibernate再发送create语句创建表。

3.update:hibernate会首先查询数据库看是否存在此表,如果存在则不管,如果不存在则会先发送一个create语句创建一个表。

4.validate:每次插入数据之前都会验证数据库中的表结构和hbm文件的结构是否一致。如果表不存在,则报错。

上面是解释是摘录别人的资料 , 你用的是create,也就是说在应用关闭的时候并不会去删除数据库表,我认为你想要的结果应该是create-drop;

出自http://zhidao.baidu.com/question/183812508.html
chengwei1104
2012-09-06 · TA获得超过619个赞
知道小有建树答主
回答量:558
采纳率:0%
帮助的人:369万
展开全部
你这个问题问的很有问题,<property name="hbm2ddl.auto">create</property> 这个设置本身就是为了懒人不想手动见表或者批量建表才这么设置的,一旦设置成功后就会修改这个设置值;谁家的表重启服务器一次就重建一次的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liqq886
2012-09-06 · TA获得超过275个赞
知道小有建树答主
回答量:328
采纳率:100%
帮助的人:119万
展开全部
改成update
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wfei58562716
2012-09-13
知道答主
回答量:36
采纳率:0%
帮助的人:19.2万
展开全部
改成create-drop

validate 加载hibernate时,验证创建数据库表结构
create 每次加载hibernate,重新创建数据库表结构
create-drop 加载hibernate时创建,退出是删除表结构
update 加载hibernate自动更新数据库结构
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式