设为首页 加入收藏

TOP

运行hbm2java工具和hbm2ddl工具
2015-11-21 01:51:05 来源: 作者: 【 】 浏览:0
Tags:运行 hbm2java 工具 hbm2ddl

以下内容整理自《精通hibernate》 第二版

Hibernate提供了从映射文件到Java源代码的转换工具,名为hbm2java工具,可以利用ANT工具来运行它。


    
    
        
    
   

以上代码定义了一个hbm2javaTask任务,它的destdir属性指定Java源文件存放在${source.root}目录(即src子目录)下, 子元素指定Hibernate的配置文件为classes/hibernate.cfg.xml。hibernate.cfg.xml文件是XML格式的配置文件。hbm2javaTask任务重的 子任务就是Hibernate提供的hbm2java工具,它能根据hbm.xml映射文件生成java源文件。

?

任务还可以包含两个属性“jdk5”和“ejb3”,用法如下:

任务的jdk5属性指定是否在生成的源代码中包含JDK5的语法特性,ejb3属性指定是否在生成的Java源代码中包含ejb3的特征,这两个属性的默认值都是false。

Hibernate提供了从映射文件到数据库Schema的转换工具,名为hbm2ddl工具,使用hbm2ddl工具时,必须在Hibernate的配置文件中设置hibernate.dialect属性,显示指定底层数据库的SQL方言,因为hbm2ddl工具会根据数据库的SQL方言来生成相应的数据库Schema。


    
    
        
            drop="true" outputfilename="sampledb.sql" />
    
 

以上代码定义了一个hbm2ddlTask任务,它的destdir属性指定生成的DDL脚本文件存放在${schema.dir}目录(即schema子目录)下, 子元素指定Hibernate的配置文件为classes/hibernate.cfg.xml。hbm2ddlTask任务重的 子任务就是Hibernate提供的hbm2ddl工具,它能根据hbm.xml映射文件生成相应的数据表。

?

任务属性

export 如果为true,表示会在数据库中执行所生成的DDL脚本。默认为true

drop 如果为true,表示会生成删除数据库中表的DDL脚本。默认为true

create 如果为true,表示会生成创建数据库中表的DDL脚本。默认为true

outputfilename 指定存放DDL脚本的文件

update 如果为true,表示会对比现有数据库及映射文件,生成用于增量更新数据库的DDL。值得注意的是,不能正式投入运行的数据库中采用这种增量更新。因为它目前还不是非常健壮,不能保证生成准确的增量更新DDL,也不能保证底层数据库可以顺利执行增量更新DDL。默认值为false

haltonerror 如果为true,表示遇到错误时会终止运行ANT工程。默认值为false

format 设定DDL脚本中SQL语句的格式

delimiter 为DDL脚本设置行结束符

console 如果为true,表示会在控制台显示生成DDL脚本。默认值为true

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇除非另外还指定了TOP或FORXML,否.. 下一篇HBase之普通BulkLoad

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: