运行hbm2java工具和hbm2ddl工具

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

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

<span style="font-size:18px;"><target name="codegen" depends="prepare">
    <taskdef name="hbm2javaTask"
                    classname="org.hibernate.tool.ant.HibernateToolTask"
                    classpathref="project.class.path" />
    <hbm2javaTask destdir="${source.root}"
        <configuration configurationfile="${class.root}/hibernate.cfg.xml" />
        <hbm2java/>
    </hbm2javaTask>
<target>   </span>

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

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

<hbm2java jdk5="true|false" ejb3="true|false">

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

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

<span style="font-size:18px;"><target name="schema" depends="compile">
    <taskdef name="hbm2javaTask"
                    classname="org.hibernate.tool.ant.HibernateToolTask"
                    classpathref="project.class.path" />
    <hbm2javaTask destdir="${schema.dir}"
        <configuration configurationfile="${class.root}/hibernate.cfg.xml" />
        <hbm2ddl export="true" console="true" create="true"/>
            drop="true" outputfilename="sampledb.sql" />
    </hbm2javaTask>
<target> </span>

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

<hbm2ddl>任务属性

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

时间: 2024-08-10 00:06:18

运行hbm2java工具和hbm2ddl工具的相关文章

执行hbm2java工具和hbm2ddl工具

下面内容整理自<精通hibernate> 第二版 Hibernate提供了从映射文件到Java源码的转换工具,名为hbm2java工具,能够利用ANT工具来执行它. <span style="font-size:18px;"><target name="codegen" depends="prepare"> <taskdef name="hbm2javaTask" classname=

hbm2java和hbm2ddl工具

hbm2java工具根据映射文件自动生成Java源文件,而hbm2ddl工具则根据映射文件自动生成数据库Schema,下面是这两种工具的使用: 1.建立Java工程,加入Jar包,创建创建hibernate配置文件以及响应的映射文件,相关jar包及工程目录如下: 2.相关文件代码如下: build.xml: 1 <?xml version="1.0"?> 2 <project name="Learning Hibernate" default=&q

在MyEclipse的web项目/java项目中,使用Hibernate-tools中的hbm2java和hbm2ddl工具,根据hbm文件自动生成pojo和数据库脚本

     首先,我一定要吐槽下,这个Ant管理部署项目的工具,以及hibernate刚刚学习,导入我这一个简单的问题整了一天多,实在效率有点低下.在这两天中,①了解了Ant,知道了在Ant中很灵活的步骤项目的情况,知道了build.xml文件的一些基本写法.②还学习了在MyEclipse这样的集成工具中完成项目部署.③以及在这两种情况中,利用hibernateTools中的hbm2java和hbm2ddl工具,根据对象关系映射文件,自动生成POJO以及SQL文件(就是数据表). 一,在web项目

关于Hibernate中hbm2java和hbm2ddl工具

hbm2java:根据映射文件自动生成java源文件 hbm2ddl:根据映射文件自动生成数据库的schema XDoclet:根据带有XDoclet标记的java源文件生成映射文件 Middlegen:根据数据库Schema自动生成映射文件 相关文件位置: 关于hbm2ddl工具的命令选项 hbm2ddl工具不仅需要读取xml映射文件还需要读取class的相关类文件

在MyEclipse的web项目/java项目中,使用Hibernate-tools中的hbm2java和hbm2ddl工具,依据hbm文件自己主动生成pojo和数据库脚本

     首先.我一定要吐槽下,这个Ant管理部署项目的工具.以及hibernate刚刚学习,导入我这一个简单的问题整了一天多.实在效率有点低下. 在这两天中,①了解了Ant.知道了在Ant中非常灵活的步骤项目的情况,知道了build.xml文件的一些基本写法.②还学习了在MyEclipse这种集成工具中完毕项目部署. ③以及在这两种情况中.利用hibernateTools中的hbm2java和hbm2ddl工具,依据对象关系映射文件,自己主动生成POJO以及SQL文件(就是数据表). 一,在w

Android高手速成--第四部分 开发工具及测试工具

第四部分 开发工具及测试工具 主要介绍和Android开发工具和测试工具相关的开源项目. 一.开发效率工具 Json2Java根据JSon数据自动生成对应的Java实体类,还支持Parcel.Gson Annotations对应代码自动生成.期待后续的提取父类以及多url构建整个工程的功能项目地址:https://github.com/jonfhancock/JsonToJava在线演示:http://jsontojava.appspot.com/ IntelliJ Plugin for And

Android 开发工具及测试工具 汇总

注明:  转自 外部网站 http://www.tuicool.com/articles/EFBjequ 主要介绍和Android开发工具和测试工具相关的开源项目.  Json2Java 根据JSon数据自动生成对应的Java实体类,还支持Parcel.Gson Annotations对应代码自动生成.期待后续的提取父类以及多url构建整个工程的功能 项目地址: https://github.com/jonfhancock/JsonToJava 在线演示: http://jsontojava.a

Android 开源项目android-open-project开发工具及测试工具解析 开发效率工具,开发自测相关,测试工具,开发及编译环境,其他

主要介绍和Android开发工具和测试工具相关的开源项目. 一.开发效率工具 Parceler 通过注解及工具类自动完成实体类 Parcelable及值传递 项目地址:https://github.com/johncarl81/parceler Json2Java 根据JSon数据自动生成对应的Java实体类,还支持Parcel.Gson Annotations对应代码自动生成.期待后续的提取父类以及多url构建整个工程的功能 项目地址:https://github.com/jonfhancoc

多功能网页刷新工具,刷pv工具

多功能网页刷新工具,刷pv工具,在线刷流量,刷PV,刷UV小牛刷新助手功能介绍:1.设置多个刷新网页地址.2.设置刷新时间3.开始工作4.其他操作:老板键:打开时自动刷新:置系统托盘5.可手动输入地址,可看当前刷新地址下载地址:点击下载