[转]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映射文件和表结构校验一次看它们是否一致,如果不一致它不会修改表结构,它会报异常,然后程序终止,等待你去解决这个问题。

你可能感兴趣的:([转]Hibernate自动建表问题)