有两种方法:
一:在配置文件中加上 <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.hbm2ddl.auto”>update</prop>//首次创建项目时用,项目稳定后一般注释这里有4个值: update:表示自动根据model对象来更新表结构,启动hibernate时会...
下面将介绍如何使用Hibernate Code Generation来产生数据库表映射Java对象,首先要在数据库中创建表,并设置号字段名和主键(主键很重要,关于主键的选择建议你使用与业务无关的ID作为主键);打开Hibernate视图找到...
NULL 博文链接:https://microjava.iteye.com/blog/515233
hibernate自动生成entity,映射文件,dao.等
如果在主体没有声明@JoinColumn,系统自动进行处理:在主表(owner table)中将创建联接列,列名为:主体的关联属性名+下划线+被关联端的主键列名。上面的例子中是zip_id,因为Trousers中的关联属性名为zip,...
4.1.1. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.2. 提供一个标识属性(identifier property)(可选) 4.1.3. 使用非final的类 (可选) 4.1.4. 为持久化字段声明访问器(accessors)和是否可变的...
MyEclipse由表自动生成Hibernate实体对象_白杨,是一个非常好的ORcl,MYEXCLIpce 教材
Hibernate中根据数据库中各表,使用myEclipse的返向工程,自动生成hibernate.cfg.xml 配置文件 与person.hbm.xml映射文件和持久化类 (图文介绍)
产生原因:因为使用 jpa 自动创建表的时候,采用的是TreeMap的,我们要变成LinkedHashMap 的结构。 解决方案:在项目下java文件夹下创建包名为: org.hibernate.cfg ,创建类: PropertyContainer [包名,类名...
myeclipse中自动生成hibernate的POJO、DAO和hbm.xml文件,自己整理了一下,以防以后忘了。
原来我上传过这个资源,但网友说不太完整,我又补充了重新上传。hibernate自动生成dao,配置文件等的学习笔记,在myeclipse下实现。
通过myeclipse自动生成Hibernate类文件和hbm.xml文件,链接数据库库自动生成
如何使用用myeclipse自动生成hibernate配置文件
NULL 博文链接:https://roc08.iteye.com/blog/2169162
使用 Hibernate 和 JDBC 的示例 型号说明 两个表,用户和他们的交易 用户有余额。 可以将资金从一个用户转移到另一个用户,并且可以补充余额 您不能手动添加事务。...基础是在测试期间创建的(Hibernate)
注释齐全,'零'配置文件 (1)在config中找到db.properties:连接自己的mysql (2)在连接到的mysql中建一个数据库(database):(defaultName:mvcdemo) (3)运行本项目 (4)页面输入 ...
3.运行测试程序itemtest中的save方法就可以自动创建items表并添加测试数据。 4.ItemsService是Items的相关操作接口,ItemsServerImpl是接口实现,注意jpa注解。 5.ItermController是springmvc Controller的实现。 6....
S3H3 注解 DAO封装 自动创建表 在过去几年里,Hibernate不断发展,几乎成为Java数据库持久性的事实标准。它非常强大、灵活,而且具备了优异的性能。在本文中,我们将了解如何使用Java 5 注释来简化Hibernate代码,并...
和transactionTemplate(用于编程式事务处理,只用于特殊需要,因为已经存在配置式事务,一般符合命名的方法会自动创建事务) 其他功能: shown工具包 - 图片上传,分页 urlRewrite - 访问地址重定向,用于页面伪...