`
envoydada
  • 浏览: 65371 次
社区版块
存档分类
最新评论

Hibernate-Extension和Middlegen-Hibernate

阅读更多
参考
Hibernate 开发指南
V1.0
作者:夏昕 xiaxin(at)gmail.com
=========Hibernate学习笔记========
构建Hibernate 基础代码
1、POJO
2、Hibernate 映射文件

       数据库表通过Middlegen-Hibernate生成ORM(对象-关系型数据映射)再通过Hibernate-Extension生成POJO,对数据库的操作就可在POJO上完成

1、首先用Middlegen-Hibernate生成ORM
       配置目标数据库参数
              进入MiddleGen 目录下的\config\database 子目录,根据我们实际采用的数据库打开对应的配置文件,这里我使用的是MSSQL,既打开mssql.xml ,化线部分根据自己的数据库而定         
   <!---->
   
<!---->
   
<!---->
   
<!---->
   
<!---->

   
<property name="database.script.file"           value=""/>
   
<property name="database.driver.file"           value="${lib.dir}/jtds-1.1.jar"/>
   
<property name="database.driver"                value="net.sourceforge.jtds.jdbc.Driver"/>
   
<property name="database.url"                   value="jdbc:jtds:sqlserver://localhost:1433/tushu"/>
   <
property name="database.userid"                value="sa"
/>
   
<property name="database.password"              value="dada"/>
   
<property name="database.schema"                value="dbo"/>
   
<property name="database.catalog"               value="tushu"/>

   
<property name="jboss.datasource.mapping"       value="MS SQLSERVER"/>
   
<!---->

    修改Build.xml
      修改MiddleGen 根目录下的build.xml 文件,此文件是Middlegen-Hibernate 的Ant构建配置。Middlegen-Hibernate将根据build.xml文件中的具体参数生成数据库表映射文件。可配置的项目包括:
  a) 目标数据库配置文件地址
     查找关键字 ”!ENTITY”,得到(定义数据库使用的xml文件)
<!---->DOCTYPE project [
<!---->ENTITY database SYSTEM
"file:./config/database/hsqldb.xml">
]
>
     这里根据上面定义的数据库,将其改为:
<!---->DOCTYPE project [
    
<!---->ENTITY database SYSTEM "file:./config/database/mssql.xml">
]
>
   
  b) Application name
      <property value="airline" name="name"></property>默认的Application name,可以自定义名称
   
 <property name="name" value="HibernateTestDada"/>


  c) 输出目录
<property name="build.gen-src.dir"   value="${build.dir}/gen-src"/>
修改value="${build.dir}/gen-src"使其指向我们所期望的输出目录,这里我修改为:
<property name="build.gen-src.dir"    value="D:\sample"/>

  d) 对应代码的Package name 
<hibernate
destination
="${build.gen-src.dir}"
package
="${name}.hibernate"
genXDocletTags
="false"
genIntergratedCompositeKeys
="false"
javaTypeMapper
=
"middlegen.plugins.hibernate.HibernateJavaTypeMapper"
/>
  对生成文件的包名路径,这里自定义为:
  <hibernate
            destination
="${build.gen-src.dir}"
            package
="derek.hibernate.test"
            genXDocletTags
="true"
            genIntergratedCompositeKeys
="false"
            javaTypeMapper
="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
         
/>

这里还有一个属性genXDocletTags,如果设置为true,则生成的代码将包含xdoclet tag,这为以后在开发过程中借助xdoclet进行映射调整提供了帮助。
    
其中原书作者强调如果是SQLSERVER还要删除以下划线内容,否则报错找不到数据库,但是在我测试过程中发现如果去了会报找不到数据库的错误,所以我没有删除,并且在前面“配置目标数据库参数”中设置了这两个参数的属性。
<middlegen
appname
="${name}"
prefsdir
="${src.dir}"
gui
="${gui}"
databaseurl
="${database.url}"
initialContextFactory
="${java.naming.factory.initial}"
providerURL
="${java.naming.provider.url}"
datasourceJNDIName
="${datasource.jndi.name}"
driver
="${database.driver}"
username
="${database.userid}"
password
="${database.password}"
schema
="${database.schema}"
catalog
="${database.catalog}"
>
           至此为止,MiddleGen 已经配置完毕,在MiddleGen 根目录下运行ant。将出现图形窗口。生成hbm映射文件,映射文件反映了数据库表结构。每个映射文件都对应了数据库的一个表。

2、Hibernate Extension生成POJO
  hbm2java.bat根据映射文件生成对应的POJO
  打开tools\bin\setenv.bat 文件,根据实际情况修改
   其中遇到一个问题,原本应该在CP变量中加%CLASSPATH%,但是由于我装过xmlspy,所以当我执行hbm2java时,提示找不到类,其中提示中出现Files\Altova\xmlspy\XMLSpyInterface.jar,但此包我并没加,包括在%CLASSPATH%中也没设置,但他出现了,于是我将%CLASSPATH%从CP中去除,并手工的加入%CLASSPATH%中定义的路径,问题解决!!!
@echo off

rem 
-------------------------------------------------------------------
rem Setup environment 
for hibernate tools
rem 
-------------------------------------------------------------------

set JDBC_DRIVER=D:\HibernateTools\hibernate-extensions-2.1.3\tools\lib\jtds-1.1.jar
set HIBERNATE_HOME=D:\hibernate-2.1
set HIBERNATETOOLS_HOME=D:\HibernateTools\hibernate-extensions-2.1.3\tools
echo HIBERNATETOOLS_HOME 
set to %HIBERNATETOOLS_HOME%

if "%HIBERNATE_HOME%" == "" goto noHIBERNATEHome

set CORELIB=%HIBERNATE_HOME%\lib
set LIB=%HIBERNATETOOLS_HOME%\lib
set PROPS=%HIBERNATE_HOME%\src
set CP=%JDBC_DRIVER%;%PROPS%;%HIBERNATE_HOME%\hibernate2.jar;%CORELIB%;%CORELIB%\commons-logging-1.0.4.jar;%CORELIB%\commons-lang-1.0.1.jar;%CORELIB%\cglib-full-2.0.2.jar;%CORELIB%\dom4j-1.4.jar;%CORELIB%\odmg-3.0.jar;%CORELIB%\xml-apis.jar;%CORELIB%\xerces-2.4.0.jar;%CORELIB%\xalan-2.4.0.jar;%LIB%\jdom.jar;%CORELIB%\commons-collections-2.1.1.jar;%HIBERNATETOOLS_HOME%\hibernate-tools.jar;.;C:\j2sdk1.4.2\lib;C:\j2sdk1.4.2\lib\tools.jar;C:\j2sdk1.4.2\lib\dt.jar;


if not "%HIBERNATE_HOME%" == "" goto end

:noHIBERNATEHome
echo HIBERNATE_HOME 
is not set. Please set HIBERNATE_HOME.
goto end

:end

使用hbm2java,根据MiddleGen生成的映射文件生成Java 代码:
打开Command Window,在tools\bin目录下执行:
hbm2java D:\sample\derek\hibernate\test\*.xml --output=d:\sample\
即可生成对应的POJO。生成的POJO 保存在我指定的输出目录下(d:\sample)

-----------------------------------------------
详细内容可见
Hibernate 开发指南
V1.0
作者:夏昕 xiaxin(at)gmail.com
-----------------------------------------------
分享到:
评论

相关推荐

    hibernate-extensions和Middlegen-Hibernate

    总结来说,hibernate-extensions和Middlegen-Hibernate是提高Hibernate开发效率的利器,它们通过自动化的方式,帮助开发者快速生成数据库映射文件和Java实体类,使得开发工作更加高效和便捷。合理利用这两个工具,...

    Hibernate-Extension Middlegen-Hibernate

    1. **安装配置**:首先,你需要下载并配置Middlegen-Hibernate的相关依赖库,如题目中提到的`hibernate-extensions-2.1.3`、`apache-ant-1.8.4`、`Middlegen-Hibernate-r5`和`hibernate-2.1`。Apache Ant是Java项目...

    Middlegen-Hibernate-r5

    在Middlegen-Hibernate-r5中,Middlegen的作用在于根据数据库中的表结构生成Hibernate所需的配置文件,如hibernate.cfg.xml和.hbm.xml文件。这些文件定义了数据库表与Java实体类的映射关系,使得Hibernate能够自动...

    hibernate,hibernate3,Middlegen-Hibernate-r5

    综上所述,Hibernate、Hibernate3、Hibernate-Annotations和Middlegen-Hibernate-r5构成了一个强大的Java ORM解决方案,它们共同解决了Java应用中的数据库持久化问题,大大简化了开发流程,提高了开发效率。...

    Middlegen-Hibernate-r5,hibernate-extensions-2.1.3

    【标题】"Middlegen-Hibernate-r5,hibernate-extensions-2.1.3" 涉及的是两个重要的Hibernate相关工具:Middlegen和Hibernate Extensions,这两个工具都是在开发基于Java的数据库应用程序时使用的辅助工具。...

    hibernate-extensions-2.1.3.zip ,middlegen for hibernate

    Middlegen,作为`Middlegen-Hibernate-r5.zip`的主要内容,是针对Hibernate的一个实用工具,用于自动生成数据库模式到Java类的映射代码,极大地提高了开发效率。 1. Hibernate扩展: Hibernate扩展是开发者社区为...

    Middlegen-Hibernate-r5.zip

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

    Middlegen-Hibernate-r5.rar

    在Middlegen-Hibernate-r5.rar中,我们可以找到该版本的Middlegen,它支持最新的数据库模式和Hibernate特性,简化了开发人员从数据库到Java对象的转换过程,大大提高了开发效率。 接下来,我们转向Hibernate,一个...

    Hibernate中的Middlegen入门指南

    将 hibernate2.1.8 下的 hibernate2.jar 及 lib 目录下的 jar 文件、hibernate-extensions 下的 hibernate-tools.jar 及 lib 目录下的 jar 文件、xdoclet-bin-1.2.3 下的 jar 文件全部拷贝到 middlegen- hibernate-...

    middlegen jar包

    最近学习Hibernate时,一直在找Hibernate-Extension和Middlegen-Hibernate工具,找了许久,终于找到了,现在提供给想学Hibernate的同志一些方便.

    spring+Middlegen+hibernate-extensions.rar

    接下来是"Middlegen-Hibernate-r5.zip",Middlegen是一款基于Hibernate的数据库建模工具,它可以自动生成Hibernate映射文件和Java持久层实体类。Hibernate是Java领域最流行的ORM(对象关系映射)框架,它允许开发者...

    Hibernate开发指南

    此外,还需要下载Hibernate、Hibernate-Extension和Middlegen-Hibernate软件包的最新版本。这些工具是使用Hibernate进行项目开发的基础。 接下来是构建Hibernate基础代码的部分,包括从数据库自动生成基础代码的...

    Hibernate学习精粹

    2. **下载Hibernate相关软件包**:接下来,从官方网站下载最新的Hibernate、Hibernate-Extension和Middlegen-Hibernate等软件包。这些工具提供了必要的类库和支持文件,对于使用Hibernate进行开发至关重要。 #### ...

    Middlegen-Hibernate.rar

    在Middlegen-Hibernate的场景中,Ant被用来驱动Middlegen执行代码生成的任务,这使得整个过程可配置且易于集成到持续集成环境中。 以下是Middlegen与Hibernate配合使用的基本步骤: 1. **安装与配置**:首先,你...

    hibernate生成java,xml

    `Middlegen-Hibernate-r5.zip`可能包含了Middlegen的特定版本,包括其源代码、执行脚本和其他相关资源。 在实际开发中,这两个工具的使用通常是这样的: 1. 使用Middlegen:首先,你需要连接到数据库,然后选择要...

    hibernate超值工具包

    hibernate-extensions-2.1.2.zip hibernatetutorial.zip Middlegen-Hibernate-r4.zip Middlegen-Hibernate-r4.zip

    Middlegen-Hibernate配置

    《Middlegen-Hibernate配置详解》 在Java开发领域,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,对于初学者或者开发者来说,正确配置和使用Hibernate可能会遇到一些挑战。...

    hibernate相关插件全集

    本篇文章将围绕"hibernate相关插件全集"这一主题,详细介绍给定的压缩包文件中包含的三个关键组件:Middlegen-Hibernate-r5、hibernate-annotations-3.3.0.GA和hibernate-extensions-2.1.3。 首先,Middlegen-...

Global site tag (gtag.js) - Google Analytics