`
hero0319
  • 浏览: 3052 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

hibernate-middlegen生成pojo

阅读更多

    本例使用MiddleGen-Hibernate-r5生成hbm文件及POJO,所使用数据库为SQLServer2000,. MiddleGen-Hibernate-r5下载地址为:

http://jaist.dl.sourceforge.net/sourceforge/hibernate/Middlegen-Hibernate-r5.zip

<!--[if !supportLists]-->1       <!--[endif]-->先决条件

<!--[if !supportLists]-->1.1    <!--[endif]-->已安装JDK(版本1.5以上)并配置环境变量

<!--[if !supportLists]-->Ø         <!--[endif]-->http://java.sun.com/上下载JDK,配置环境变量(我的电脑右键->属性->高级->环境变量)

JAVA_HOMEJDK安装目录

CLASS_PATHJDK安装目录\lib

PATHJDK安装目录\bin

<!--[if !supportLists]-->1.2    <!--[endif]-->已安装ant并配置环境变量

<!--[if !supportLists]-->Ø         <!--[endif]-->点击http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.1-bin.zip 下载ant并解压,设置环境变量(我的电脑右键->属性->高级->环境变量)

ANT_HOMEant解压目录

<!--[if !supportLists]-->2       <!--[endif]-->所需jar包

<!--[if !supportLists]-->Ø         <!--[endif]-->生成hbm文件所需jar

由于本例使用的是SQLServer2000数据库,所以需要:

msbase.jar,

mssqlserver.jar,

msutil.jar

三个jar(可以到MS官网上下载)

<!--[if !supportLists]-->Ø         <!--[endif]-->生成POJO时所需jar

hibernate3.jar

dom4j-1.6.1.jar

可以点击

http://nchc.dl.sourceforge.net/sourceforge/hibernate/hibernate-distribution-3.3.1.GA-dist.zip 下载,dom4j-1.6.1.jar位于 hibernate-distribution-3.3.1.GA\lib\required下(也可以通过http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip 下载)

hibernate-tools.jar

freemarker.jar

可以点击

http://jaist.dl.sourceforge.net/sourceforge/jboss/HibernateTools-3.2.4.Beta1-R200810311334.zip 下载,解压后jar包位于

plugins\org.hibernate.eclipse_3.2.4.Beta1-R200810311334\lib\tools

slf4j-api-1.5.2.jar

slf4j-jdk14-1.5.2.jar

slf4j-log4j12-1.5.2.jar

可以点击http://www.slf4j.org/dist/slf4j-1.5.2.zip 下载

<!--[if !supportLists]-->3       <!--[endif]-->生成过程

将下载的MiddleGen-Hibernate-r5解压到任一目录,并在build目录下新建一个文件夹mysrc

<!--[if !supportLists]-->3.1    <!--[endif]-->生成hbm文件

<!--[if !supportLists]-->3.1.1   <!--[endif]-->设置build.xml

打开MiddleGen-Hibernate-r5文件夹,找到并打开Build.xml,按照以下步骤对文件进行更改:

<!--[if !supportLists]-->Ø         <!--[endif]-->24行:更改数据库配置

<!DOCTYPE project [

    <!ENTITY database SYSTEM "file:./config/database/hsqldb.xml">

]>

<!DOCTYPE project [

    <!ENTITY database SYSTEM "file:./config/database/mssql.xml">

]>

因为所使用的是SQLServer2000数据库,所以在此更改将数据库配置文件更改为mssql.xml

<!--[if !supportLists]-->Ø         <!--[endif]-->33行:设置包名

<property name="name" value="airline"/>

<property name="name" value="org.test"/>

生成hbm时会建org.test 文件夹,与JAVA结构一样

<!--[if !supportLists]-->Ø         <!--[endif]-->51行:设置输出目录

<property name="build.gen-src.dir"              value="${build.dir}/gen-src"/>

<property name="build.gen-src.dir"              value="${build.dir}/mysrc"/>

指定输出目录为mysrc文件夹

<!--[if !supportLists]-->Ø         <!--[endif]-->185行:又是包名

package="${name}.hibernate"

package="${name}.model"//生成文件夹

也可以不设置第33行包名(但有可能不会生成orgtest文件夹,未测试),直接改此处为package="org.yourpackage"

<!--[if !supportLists]-->3.1.2   <!--[endif]-->设置数据库连接文件

MiddleGen-Hibernate-r5文件夹下config/database/找到并打开mssql.xml,按如下所示进行修改:

<!--[if !supportLists]-->l         <!--[endif]-->

<property name="database.driver.file"           value="${lib.dir}/Sprinta2000.jar"/>

<property name="database.driver"                value="com.inet.tds.TdsDriver"/>

   <property name="database.url"                   value="jdbc:inetdae7:localhost?database=airline"/>

   <property name="database.userid"                value="sa"/>

   <property name="database.password"              value="sa"/>

   <property name="database.schema"                value=""/>

   <property name="database.catalog"               value=""/>

修改为

             <property name="database.driver.file"           value="${lib.dir}/mssqlserver.jar"/>

            <property name="database.driver"                value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>

   <property name="database.url"                   value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=loginDemo"/>

   <property name="database.userid"                value="sa"/>

   <property name="database.password"              value="sa"/>

   <property name="database.schema"                value="dbo"/>

   <property name="database.catalog"               value="loginDemo"/>

其中database.schema在这里应该是指数据库的拥有者,在DB2中可能是指模式吧。

<!--[if !supportLists]-->l         <!--[endif]-->msbase.jar,mssqlserver.jar,msutil.jar拷至MiddleGen-Hibernate-r5文件夹lib目录

完成上述两个步骤之后,打开cmd,进入MiddleGen-Hibernate-r5目录,运行ant,将会弹出一个GUI界面,如果不想做任何修改,直接点击Generator就可以生成hbm文件了,生成的hbm文件位于MiddleGen-Hibernate-r5文件夹build\mysrc\com\test\model下。

<!--[if !supportLists]-->3.2    <!--[endif]-->生成POJO

将以下jar包复制到MiddleGen-Hibernate-r5文件夹lib目录

hibernate3.jar, hibernate-tools.jar, dom4j-1.6.1.jar, slf4j-log4j12-1.5.2.jar, slf4j-api-1.5.2.jar, slf4j-jdk14-1.5.2.jar, freemarker.jar

再次打开build.xml文件

修改第212

<target name="hbm2java" description="Generate .java from .hbm files.">

      <taskdef

         name="hbm2java"

         classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"

         classpathref="lib.class.path"

      />

             

              <hbm2java output="${build.gen-src.dir}">

                     <fileset dir="${build.gen-src.dir}">

                            <include name="**/*.hbm.xml"/>

                     </fileset>

              </hbm2java>

   </target>

<target name="hbm2java" description="Generate .java from .hbm files.">

      <taskdef

         name="hbm2java"

         classname="org.hibernate.tool.ant.HibernateToolTask"

         classpathref="lib.class.path"

      />

             

              <hbm2java destdir="${build.gen-src.dir}">

              <configuration>

                     <fileset dir="${build.gen-src.dir}">

                            <include name="**/*.hbm.xml"/>

                     </fileset>

                     </configuration>

                     <hbm2java jdk5="true"/>

              </hbm2java>

   </target>

由于Middlegen生成的hbm文件是里面的引用是hibernate2DTD,因此修改生成的hbm.xml里面hibernate2DTD

<!DOCTYPE hibernate-mapping PUBLIC

    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

变为

<!DOCTYPE hibernate-mapping PUBLIC

    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

(也就是将2变为3,这样就不会出现“Don’t use old DTDs,read the Hibernate3.x Migration Guide!”错误)

运行ant hbm2java,生成的<span

分享到:
评论

相关推荐

    hibernate-extensions和Middlegen-Hibernate

    为了解决这一问题,两个工具——hibernate-extensions和Middlegen-Hibernate应运而生,它们可以自动生成这些代码,提高了开发效率。 **hibernate-extensions** 是Hibernate框架的一个扩展,它提供了一些额外的功能...

    Middlegen-Hibernate-r5.zip

    Hibernate的Middlegen-Hibernate-r5工具包可以生成映射文件及POJO文件,简化开发。... 关于Hibernate的关系映射,其中除了注解方式,还可以通过XML方式,此文件是根据数据库生成XML文件的一种工具。...

    Hibernate学习精粹

    2. **从数据库导出**:利用工具自动生成POJO类和映射文件。这是最常用的方法,尤其是在已有数据库的情况下,可以直接根据现有的表结构生成所需的代码。这种方式可以大大提高开发效率,减少出错的可能性。 #### 五、...

    Hibernate实践例子程序

    1. Middlegen-Hibernate,用来自动生成对象映射的配置文件。感觉配置起来也挺麻烦的,不过对于有一大坨的mapping对象的cfg文件来说倒是很省事的,关键是避免出错了。 2. Hibernate Extention,用来自动生成与那些*....

    Middlegen插件(搭配Ant)自动生成Hbm文件

    首先,Middlegen是Apache Lucene项目的一个子项目,它的主要功能是根据数据库表结构生成相应的Java POJO类和Hibernate的Hbm映射文件。POJOs是Plain Old Java Objects的简称,它们是Java程序设计中一种简单、无特定...

    Hibernate_DEV_GUIDE

    在实际开发过程中,经常采用从现有数据库结构自动生成POJO类和映射文件的方式,这可以通过Middlegen-Hibernate等工具实现。 - **Middlegen-Hibernate**:这是一个强大的代码生成工具,能够根据数据库表结构自动生成...

    Middlegen插件利用数据库表自动生成Hbm文件

    除了Hbm文件,Middlegen还可以生成POJO(Plain Old Java Object)类,即与数据库表一一对应的Java实体类,以及DDL(Data Definition Language)脚本,用于创建或更新数据库表结构。 在实际开发中,可以结合Ant工具...

    Hibernate 开发学习指导书

    - Middlegen-Hibernate: 用于自动生成Hibernate所需的代码。 #### 三、构建Hibernate基础代码 构建Hibernate的基础代码主要包括两部分:POJO类和Hibernate映射文件。 ##### 1. POJO (Plain Ordinary Java Object)...

    一個好好的 hibernate 介紹

    - Hibernate 提供了 MiddleGen 工具帮助生成这些元素。 - **示例**: - **POJO 示例**:`Message` 类定义了一个简单的消息对象,包含了基本属性和方法。 - **映射文件示例**:使用 XML 文件定义了 `Message` 类...

    hibernate 开发指南下载

    - **Hibernate软件包**: 包括Hibernate核心库、Hibernate扩展库及Middlegen-Hibernate等相关组件。 - **环境配置**: 将Ant的bin目录添加到系统的PATH环境中,以便可以在命令行下直接调用Ant命令。 #### 四、构建...

    J2EE电子商务系统开发从入门到精通--基于Struts和Hibernate技术实现

    - Middlegen是一个开源工具,可以生成简单的POJO类和Hibernate映射文件。 **3.7 hbm2java工具** - **3.7 hbm2java工具** - hbm2java工具可以将Hibernate映射文件转换为对应的Java实体类。 **3.8 分页显示的实现...

    appfuse开发框架(myapp)使用说明文档

    - 输入完成后,XDoclet将通过Hibernate middlegen生成POJO,并进一步生成DAO、Service、Controller(Spring MVC)、JSP页面以及相应的配置文件。 以上步骤提供了关于如何使用AppFuse框架进行开发的基本指南,包括...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    12.6.8 生成POJO 12.6.9 编写注册的业务逻辑接口Regedit.java 12.6.10 编写注册的业务逻辑类RegeditImpl.java 12.6.11 编写登录的业务逻辑接口Login.java 12.6.12 编写登录的业务逻辑类LoginImpl.java 12.6.13 编写...

    hibernate映射

    在具体操作中,比如使用Middlegen从数据库定义文件生成映射文件,涉及到的配置参数有: - `database.script.file`:指向创建数据库的SQL脚本文件路径。 - `database.driver.file`:包含数据库JDBC驱动的jar文件路径...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    12.6.8 生成POJO 12.6.9 编写注册的业务逻辑接口Regedit.java 12.6.10 编写注册的业务逻辑类RegeditImpl.java 12.6.11 编写登录的业务逻辑接口Login.java 12.6.12 编写登录的业务逻辑类LoginImpl.java 12.6.13 编写...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    12.6.8 生成POJO 12.6.9 编写注册的业务逻辑接口Regedit.java 12.6.10 编写注册的业务逻辑类RegeditImpl.java 12.6.11 编写登录的业务逻辑接口Login.java 12.6.12 编写登录的业务逻辑类LoginImpl.java 12.6.13 编写...

    hibernate入门

    2. **下载Hibernate相关软件包**: 包括Hibernate核心库、Hibernate扩展和Middlegen-Hibernate等。这些可以从官方网站或其他可信源下载。确保下载的是最新版本,以便获得最佳性能和兼容性支持。 #### 三、构建...

    解析Java的Hibernate框架中的持久化类和映射文件

    在实际开发中,映射文件可以通过手动编写,或者使用自动化工具如XDoclet、Middlegen或AndroMDA自动生成,以减少手动工作并降低错误的可能性。 总结来说,Java的Hibernate框架中的持久化类和映射文件是实现ORM的关键...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    12.6.8 生成POJO 12.6.9 编写注册的业务逻辑接口Regedit.java 12.6.10 编写注册的业务逻辑类RegeditImpl.java 12.6.11 编写登录的业务逻辑接口Login.java 12.6.12 编写登录的业务逻辑类LoginImpl.java 12.6.13 编写...

Global site tag (gtag.js) - Google Analytics