使用 SchemaExport 自动建表
实际上使用Hibernate自带的工具hbm2ddl,建立根据你的对象建立数据库是很惬意的一件事;)
首先当然要建好POJO object, XML Mapping File(也可以使用工具根据POJO
class建立),配置文件(hibernate.cfg.xml)
然后运行下面的Java代码
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class SchemaUtil {
public static void main(String[] args) {
Configuration cfg = new Configuration().configure();
SchemaExport schemaExport= new SchemaExport(cfg);
schemaExport.create(false, true);
}
}
再看看数据库,表是不是已经帮你建好了,对于我这样不熟悉数据库的人真是太方便了
- 引入
- SchemaExport工具
- SchemaUpdate工具
引入
我其实都是一直先编写持久化类和映射文件,然后使用SchemaExport工具生成数据库架构。这样的方式就是领域驱动设计/开发(DDD,Domain
Driven
Design/Development)。我的理解是系统的设计应该基于对象模型,主要考虑对象的设计和逻辑上,然后按照对象模型建立数据库关系模型,这才是现在面向对象开发的步骤,并不是上一篇先设计数据库然后再设计对象。用一幅图可以形象的说明领域驱动设计:
当在设计时,我们的领域模型需要改变,只需修改Hibernate结构和应用程序,不需要修改数据库架构,只要利用SchemaExport工具重新生成数据库架构就可以了。但是使用数据库只是其中一种方式,我们也可以使用XML文件来存储数据。
SchemaExport工具
Hibernate的hbm2dll提供SchemaExport工具:给定一个连接字符串和映射文件,不需输入其他东西就可以按照持久化类和映射文件自动生成数据库架构,现在SchemaExport工具还不是很强大,但是一般应用足够了,它还是一个相当原始的API还在不断改进。
SchemaExport工具就是把DDL脚本输出到标准输出,同时/或者执行DDL语句。SchemaExport工具提供了三个方法,分别是Drop()、Create()、Execute(),前两个方法实质是调用Execute()方法。通常使用Execute()方法来生成数据库架构的。
SchemaUpdate工具
在Hibernate2.0中新添加SchemaUpdate工具,可以用来更新数据库架构。但是我觉得没有什么作用,因为它不能Drop现有的表或列,也不能更新现有的列,只能添加新的表和列。如果我需要删除表或者列或者修改其中列,SchemaUpdate工具就显得无能为力了。
分享到:
相关推荐
总结起来,使用Hibernate的`SchemaExport`工具进行数据库表的生成,是ORM理念在实际开发中的体现,它帮助我们更好地遵循面向对象的设计原则,简化了开发流程。通过定义对象和它们的映射关系,我们可以让Hibernate...
在标题和描述中提到的“nhibernate 由类文件,映射文件自动生成表的 源代码”,指的是使用NHibernate的SchemaExport工具或编程方式,根据定义的类和映射文件自动创建数据库表的机制。以下是对这个主题的详细解释: ...
1. **使用Hibernate的工具hbm2ddl根据你的对象建立数据库SchemaExport.doc** Hibernate的hbm2ddl工具能够根据实体类(即你的对象)和对应的映射文件(.hbm.xml)自动生成数据库模式。SchemaExport是这个工具的一个...
6. **数据库表的生成**: 一旦映射文件准备好,开发者可以使用Hibernate的`SchemaExport`工具,依据映射文件生成或更新数据库表结构。这个GUI工具可能会包含一键生成表的功能,使整个过程更加便捷。 7. **逆向工程**...
5. **更新数据库表**:在生成映射文件后,还可以结合Hibernate的SchemaExport工具生成或更新数据库表结构。 这样的自动化过程可以帮助开发者节省大量时间,并且减少人为错误。在实际开发中,例如使用Eclipse或...
3. **使用Hibernate工具**: Hibernate提供了SchemaExport或HibernateTool工具,可以读取hbm.xml文件并生成相应的DDL语句。例如,`SchemaExport.create(true, true)`将执行CREATE命令,而`SchemaExport.drop(true, ...
- 如何使用SchemaExport工具来创建或更新数据库模式。 以上内容总结了《NHibernate应用讲解》PDF文档中的主要知识点,涵盖了从NHibernate的基本概念到高级特性的详细介绍。通过学习这些内容,开发者可以更好地掌握...
8. **工具支持**(14_工具.ppt):介绍Hibernate提供的工具,如SchemaExport工具用于生成数据库表结构,Hibernate Console工具辅助开发等。 这些课件内容旨在帮助学习者全面理解Hibernate的工作原理,掌握其基本...
最新hibernate 版本5.2.11.final--最新hibe--最新hibernate 版本5.2.11.finalrnate 版本5.2.11.final--最新hibernate 版本5.2.11.final
- SchemaExport 工具可以帮助开发者生成数据库表结构,支持创建、更新、删除等操作。 #### 二、事务与并发控制 **2.1 定义事务** - 事务是数据库操作的基本单位,保证了数据的一致性和完整性。 **2.2 物理事务*...
5. 初始化数据库:在应用程序启动时,可以使用 NHibernate 的工具(如 SchemaExport 类)根据映射文件自动生成数据库结构。 6. 使用 NHibernate:在代码中,通过 SessionFactory 创建 Session 对象,进而进行 CRUD...
Hibernate提供了一些实用工具,如SchemaExport工具可以生成数据库脚本,hibernatetool可以进行反向工程,自动生成Java实体类等。 总结,Hibernate的学习涵盖了从基础的配置、实体映射到复杂的继承策略、查询机制,...
总的来说,这段代码演示了如何使用Hibernate框架的`SchemaExport`工具来反向生成数据库结构。在实际项目中,开发者可能会进一步利用Hibernate的逆向工程功能,自动生成实体类和映射文件,以便更方便地进行数据库操作...
2. **扩展Hibernate的SchemaExport工具**:Hibernate的SchemaExport类用于处理DDL生成。我们可以创建一个自定义的SchemaExport类,覆盖其generate方法,添加额外的逻辑来检查并插入version字段。这通常涉及到解析元...
Hibernate提供了SchemaExport工具,可以自动生成数据库表结构;Hibernate Console是图形化的工具,用于可视化配置和运行HQL;Hibernate Tools则集成了Eclipse或IDEA等IDE,提供代码生成、逆向工程等功能。 9. **...
Hibernate的SchemaExport工具允许开发者直接生成数据库模式,从而方便地在数据库中创建表。 综合以上内容,这份计算机二级Java资料详细讲解了EJB基础、Hibernate对象关系映射以及Java类到数据库表的映射等重要知识...
- 创建SessionFactory:调用Hibernate的`SchemaExport`工具生成数据库表结构。 - 数据库操作:通过`<sql>`任务执行SQL语句,如填充测试数据。 5. Hibernate操作流程: - 加载配置并获取SessionFactory。 - 打开...
手册还会涵盖一些高级特性,如CGLIB和JPA支持、延迟加载(Lazy Loading)、级联操作(Cascading)、事件监听器、性能调优以及Hibernate工具(如SchemaExport工具,用于生成数据库表结构)等。 七、最佳实践与案例...
至于“工具”标签,可能是指Hibernate提供的工具集,包括SchemaExport工具可以用来根据实体类生成数据库表结构,Hibernate Inspector则是一个用于查看和调试Hibernate配置的实用程序。这些工具在开发和调试过程中能...