hibernate自动创建数据库
2014-12-05 16:01
120 查看
只要在hibernate.cfg.xml添加这句话,就可以自动生成数据表
<property name="hibernate.hbm2ddl.auto">update</property>
update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表;如果表里缺少列,则自动添加列。
还有其他的参数:
create:启动hibernate时,自动删除原来的表,新建所有的表,所以每次启动后的以前数据都会丢失。
create-drop:启动hibernate时,自动创建表,程序关闭时,自动把相应的表都删除。所以程序结束时,表和数据也不会再存在。
PS:数据库要预先建立好,因为hibernate只会建表,不会建库
==========================================
表结构和数据总是在程序执行的时候无端的修改,折腾了好长时间,查了很长时间hibernate的数据库映射文件和接口程序,始终没有发现有什么错误,到最后才发现了它!
<property name="hibernate.hbm2ddl.auto" value="update" />
解释如下:
hibernate.hbm2ddl.auto Automatically validate or export schema DDL to the database when the SessionFactory is created. With create-drop, the database schema will be dropped when the SessionFactory is closed explicitly. eg. validate
| update | create | create-drop
其实这个参数的作用主要用于:自动创建|更新|验证数据库表结构。
如果没有此方面的需求建议set value="none".
其它几个参数的意思:
validate 加载hibernate时,验证创建数据库表结构
create 每次加载hibernate,重新创建数据库表结构
create-drop 加载hibernate时创建,退出是删除表结构
update 加载hibernate自动更新数据库结构
<property name="hibernate.hbm2ddl.auto">update</property>
update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表;如果表里缺少列,则自动添加列。
还有其他的参数:
create:启动hibernate时,自动删除原来的表,新建所有的表,所以每次启动后的以前数据都会丢失。
create-drop:启动hibernate时,自动创建表,程序关闭时,自动把相应的表都删除。所以程序结束时,表和数据也不会再存在。
PS:数据库要预先建立好,因为hibernate只会建表,不会建库
==========================================
表结构和数据总是在程序执行的时候无端的修改,折腾了好长时间,查了很长时间hibernate的数据库映射文件和接口程序,始终没有发现有什么错误,到最后才发现了它!
<property name="hibernate.hbm2ddl.auto" value="update" />
解释如下:
hibernate.hbm2ddl.auto Automatically validate or export schema DDL to the database when the SessionFactory is created. With create-drop, the database schema will be dropped when the SessionFactory is closed explicitly. eg. validate
| update | create | create-drop
其实这个参数的作用主要用于:自动创建|更新|验证数据库表结构。
如果没有此方面的需求建议set value="none".
其它几个参数的意思:
validate 加载hibernate时,验证创建数据库表结构
create 每次加载hibernate,重新创建数据库表结构
create-drop 加载hibernate时创建,退出是删除表结构
update 加载hibernate自动更新数据库结构
如果发现数据库表丢失或新增,请检查hibernate.hbm2ddl.auto的配置 可设置 <propertyname="hibernate.hbm2ddl.auto" value="none"/>
最近整理了学习材料,有需要的请下载,我放微信里面了,方便下载,还能交流,扫描我的二维码头像即可。相关文章推荐
- Hibernate自动创建数据库表
- Hibernate之——使用SchemaExport类自动创建数据库表
- 基于hibernate MSQL 注解根据数据库自动创建bean
- 解决Hibernate不能自动创建数据库表的问题
- hibernate教程4之自动创建数据库表以及插入数据
- Hibernate 入门案例(数据库链接,错误查看,已连数据库但不能自动创建表)
- hibernate自动创建数据库
- Hibernate无法自动创建数据库表
- hibernate框架自动创建数据库表格
- Myeclipse如何自动创建hibernate以及配置struts2以及数据库表创建映射文件 详解
- Hibernate无法自动创建数据库表
- Spring整合Hibernate后没有自动在数据库中创建表结构
- 使用hibernate自动创建数据库表格为啥产生两个中间表
- 使用hibernate根据配置的实体bean类无法自动创建数据库表
- 利用hibernate反向自动创建数据库
- 对于SQL Server 对象名 XXX 无效 的多种有效处理方式(hibernate自动创建、数据库移植)
- Hibernate 自动根据映射创建数据库表
- Hibernate如何让数据库自动创建时间(时间戳)
- 使用hibernate的SchemaExport来创建数据库
- 自动创建MSSQL Server 2005 数据库快照