`
xigua366
  • 浏览: 103090 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

hibernate自动创建表结构的两种方式

阅读更多

第一种方式:

hibernate.cfg.xml文件中的hibernate.hbm2ddl.auto 属性配置,如下:

<!-- 
	create:先删除,再创建
	update:如果表不存在就创建,不一样就更新,一样就什么都不做。
	create-drop:初始化时创建表,SessionFactory执行close()时删除表。
	validate:验证表结构是否一致,如果不一致,就抛异常。
-->
<property name="hibernate.hbm2ddl.auto">update</property>

 

第二种方式:

使用hibernate提供的一个工具类。

org.hibernate.tool.hbm2ddl.SchemaExport

用法见如下demo代码:

package com.yx.jtest;

import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class Test {

	public static void main(String[] args) {
		// 根据hibernate核心配置文件生成表结构
		Configuration cfg = new Configuration();
		cfg.configure("hibernate.cfg.xml");
		SchemaExport schemaExport = new SchemaExport(cfg);
		
		boolean script = true;
		boolean export = true;
		/**
		 * 创建表结构
		 * 第一个参数script的作用:print the DDL to the console
		 * 第二个参数export的作用:export the script to the database
		 */
		schemaExport.create(script, export);
		
		// drop 表结构
		// schemaExport.drop(script, export);
	}

}

 SchemaExport的更多用法,可以去看源码或java doc

 

1
1
分享到:
评论

相关推荐

    hibernate动态生成表结构

    在这种情况下,Hibernate可以根据实体类自动创建对应的`User`和`Role`表,以及它们之间的关联。 总结,Hibernate的动态生成表结构功能极大地方便了开发过程,减少了手动创建和维护数据库表的工作量。通过正确配置...

    hibernate里面的 两种查询

    Hibernate提供了两种主要的查询方式:离线查询(Criteria API)和HQL(Hibernate Query Language)语句查询。这两种查询方法各有特点,适用于不同的场景,使得开发者可以根据实际需求灵活选择。 1. Hibernate ...

    MyEclipse创建的Hibernate的例子

    1. 生成实体类:在MyEclipse中,我们可以根据数据库表结构自动生成实体类。通过“Source” -&gt; “Generate Hibernate Classes from Database”选项,选择对应的数据库表,MyEclipse会自动为每个字段生成getter和...

    Java根据实体创建Mysql数据库表

    - Hibernate使用两种方式实现对象-关系映射:XML文件和注解。通常,注解更简洁,更易于维护。实体类上的注解如`@Column`、`@OneToMany`、`@ManyToOne`等,定义了对象间的映射关系。 4. **使用Hibernate工具自动...

    Hibernate继承映射的第一种策略:每棵类继承树对应一张表

    总之,单一表继承策略是一种简单且直观的Hibernate继承映射方式,适合类继承层次结构不深且子类数量较少的情况。但在大型项目或复杂的类继承结构中,可能需要考虑其他策略,如`JOINED`或`TABLE_PER_CLASS`。理解并...

    Hibernate电子书(全)

    SchemaExportTask允许从映射文件自动生成数据库表结构,而Hbm2JavaTask则可以生成Java实体类,这两个工具大大简化了数据库和代码的同步工作,提高了开发效率。 通过深入理解上述知识点,初学者可以快速掌握...

    hibernate3.2 jar包

    5. **Querying**:Hibernate支持两种查询方式:HQL(Hibernate Query Language)和Criteria API。HQL是面向对象的查询语言,类似于SQL但更加面向对象。Criteria API则提供了一种动态构建查询的方式,更适合在运行时...

    hibernate映射主键生成策略native

    对于Oracle数据库来说,如果`hibernate.hbm2ddl.auto`设置为`create`,并且表结构中有依赖于序列的字段,则需要确保已经创建了相应的序列,否则会报错。 #### 五、总结 通过以上内容可以看出,在Oracle环境下使用...

    hibernate 体系结构与配置 参考文档(html)

    混合使用“每个类分层结构一张表”和“每个子类一张表” 9.1.5. 每个具体类一张表(Table per concrete class) 9.1.6. Table per concrete class, using implicit polymorphism 9.1.7. 隐式多态和其他继承映射...

    hibernate代码

    6. **事务管理**:Hibernate支持JTA和JDBC两种事务管理方式。在代码中,可以使用Session的beginTransaction(), commit()和rollback()方法进行手动事务控制。 7. **HQL(Hibernate Query Language)**:Hibernate...

    hibernate+maven demo项目工程

    两种方式各有优势,可以根据项目需求选择合适的映射方式。 在项目中,可能还会包含以下内容: 1. **数据库连接池**:例如使用Apache的DBCP或C3P0,它们能够有效地管理数据库连接,提高系统的性能。 2. **DAO(Data ...

    hibernate正向工程和逆向工程

    逆向工程则是指从已有的数据库表结构出发,生成对应的Java实体类和Hibernate映射文件的过程。 **步骤详解:** 1. **准备数据库:** - 创建一个名为`TestDB`的数据库,并在其中创建一张名为`User`的表。 2. **...

    hibernate独立开发包

    8. **事务管理**:Hibernate支持JTA和JDBC两种事务管理方式,确保数据操作的原子性、一致性、隔离性和持久性。 9. **关联映射**:Hibernate支持一对一、一对多、多对一、多对多等各种关联关系的映射,如`@OneToOne`...

    hibernate4.2-jar包.zip

    Hibernate提供HQL(Hibernate Query Language)和Criteria API进行对象级别的查询,这两种方式比直接写SQL更加面向对象,更加安全且易于维护。 7. **缓存机制** Hibernate的缓存分为一级缓存(Session级别)和二...

    hibernate插件

    Criteria查询和HQL是Hibernate提供的两种面向对象的查询方式,可以更直观地表达查询逻辑。 **3. Hibernate教程(hibernate教程.ppt、hibernate教程(总).pptx)** 这些教程可能详细介绍了如何配置和使用Hibernate...

    使用springmvc+hibernate完成增删改查

    数据无需创建自动生成,可能指的是使用了Hibernate的自动建表功能,或者利用了某种数据库初始化脚本来快速生成表结构。这减少了开发者手动创建数据库表的工作量,使得项目能更快地进入实际开发阶段。 在实际应用中...

    Java Persistence with Hibernate

    Hibernate支持两种查询方式:HQL(Hibernate Query Language)和Criteria API。 - **HQL**:HQL是一种面向对象的查询语言,语法类似于SQL,但它是针对对象而不是表进行操作的。HQL支持查询、更新和删除操作,并且...

    Ant打包 Hibernate配置 实例

    2. **生成Hibernate配置文件**:使用Hibernate的SchemaExport工具,我们可以根据实体类生成数据库表结构,或者根据现有数据库结构生成映射文件。 3. **编译源代码**:确保所有Hibernate相关的类被正确编译。 4. **...

    hibernatetools文档

    - 安装方法通常包括在线安装和离线安装两种方式。 ##### 2.2 Eclipse IDE - **Eclipse**是最常用的集成开发环境之一,支持多种插件扩展。 - **使用Eclipse WTP**:Web Tools Platform (WTP) 是Eclipse的扩展,提供...

Global site tag (gtag.js) - Google Analytics