Hibernate_自动创建表的方法
来源:互联网 发布:淘宝店取名技巧知乎 编辑:程序博客网 时间:2024/05/16 14:00
有两种方法:
一:在配置文件中加上 <property name="hibernate.hbm2ddl.auto">create</property>
这个语句,然后我们再执行任何检索、更新等操作的时候就会自动建表
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自动更新数据库结构(schema发生改变时进行更新,比如添加字段,保留原有数据)
如果发现数据库表丢失或新增,请检查hibernate.hbm2ddl.auto的配置 可设置 <property name="hibernate.hbm2ddl.auto" value="none" />
建议在开发环境下使用,在生产环境下去掉。
优点:
1、自动创建新表
2、自动创建新字段
3、自动修改字段类型
缺点:
1、不会自动删除表
2、不会自动删除字段
3、自动创建的新字段只能是在最后。
二: 编写一个方法,方法内容如下:
Configuration conf=new Configuration();
conf.configure("/hibernate.cfg.xml");
SchemaExport dbExport=new SchemaExport(conf);
dbExport.create(true, true);
注意: .cfg.xml文件中dialect必须配置正确,才能正确创建表
<property name="dialect">org.hibernate.dialect.HSQLDialect</property><!-- cannot create table -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property><!-- OK -->
ps:建议仅在练习中如上述方法创建。因为存在以下问题:
1:只能创建表不能创建数据库
2:创建的表的数据类型、长度经常跟我们实际需要不符。
4:缺少初始化数据。
- Hibernate_自动创建表的方法
- Hibernate 自动创建表的方法
- Hibernate 自动创建表的方法
- Hibernate 自动创建表的方法
- hibernate_商城关系表的建立
- Spring/Hibernate_应用性能优化的7种方法
- hibernate_基础加强表与表的关系
- Hibernate自动创建表配置方法
- Hibernate_单向双向的说明
- Hibernate_关联关系的CR_Cascade_Fetch
- Hibernate_常用的关联模式
- hibernate_刚开始犯的错!
- hibernate_集合映射的配置文件
- Hibernate_查询_QueryByCriteria的方式
- Hibernate_操作对象_对象的状态分类、Session中的方法概述
- Hibernate_操作对象_Session中的方法详解
- hibernate_持久化对象状态、方法
- PowerDesigner创建表时如何根据输入的Name根据首字母自动生成Code的方法
- SQL_重复记录查询
- 给技术高管日常管理的五条小建议
- 高德地图将某个点显示在地图上(重点是居中显示)
- 导致程序员在工作中丢失激情的5件事
- 关于开源文档:程序员可能忽略的十件事
- Hibernate_自动创建表的方法
- ZOJ 1007Numerical Summation of a Series
- 简单结对编程
- Java_如何设置404页面
- c# try catch 用法
- 程序员什么时候该辞职
- Bug的类型
- 卡尔曼滤波推导
- java递归小技巧