`
xitong
  • 浏览: 6400627 次
文章分类
社区版块
存档分类
最新评论

hibernate 之 xdoclet构建文件

 
阅读更多

开发环境:eclipse3.0.1+JBossIDE-1.4.1-jre1.4-e31+jBOSS4.0.1

xdoclet的一个很大用途在于从java文件生成相应的配置文件,下面的步骤就是从pojo生成相应的映射文件

step 1)写一个POJO(本文的重点在于产生构建文件,这一部分会在另外的文章中说明)

@hibernate.class table="表名"


这一句不能少,否这xdoclet不会生成映射文件

这一句不能少,否这xdoclet不会生成映射文件

step2)写一个构建文件

用于执行xdoclet任务,当然你可以直接将该任务包含在项目的构建文件中,在本例子单独将该任务分离出来

在本文的开发环境中,当生成一个j2ee项目的时候jboss ide会自动产生一个xdoclet-build.xml的文件,通过右键点击项目名称-->porperties-->xdoclet configurations-->add standard--〉standard Hibernate,出现一个界面用于修改构建文件的内容,当然你可以自己手写,不用界面工具,产生构建文件后,你可以右键点击项目名称-->run xdoclet,当然你也可以直接将该构建文件加入eclipse的ant环境中执行,下面是构建文件的内容:

<?xml version="1.0" encoding="UTF-8"?>
<project default="_xdoclet_generation_" name="XDoclet Generator">
<property file="xdoclet-build.properties"/>
<property name="eclipse.home" value="G:/eclipse"/>
<property name="xdoclet.basedir" value="${eclipse.home}/plugins/org.jboss.ide.eclipse.xdoclet.core_1.4.1"/>
<property name="jboss.net.version" value="4.0"/>
<path id="project.classpath"><pathelement location="web/WEB-INF/classes"/>
<pathelement location="${eclipse.home}/plugins/org.jboss.ide.eclipse.jdt.j2ee.core_1.4.1/lib/j2ee-1.4/ejb-api.jar"/>
<pathelement location="${eclipse.home}/plugins/org.jboss.ide.eclipse.jdt.j2ee.core_1.4.1/lib/j2ee-1.4/jacc-api.jar"/>
<pathelement location="${eclipse.home}/plugins/org.jboss.ide.eclipse.jdt.j2ee.core_1.4.1/lib/j2ee-1.4/jca-api.jar"/>
<pathelement location="${eclipse.home}/plugins/org.jboss.ide.eclipse.jdt.j2ee.core_1.4.1/lib/j2ee-1.4/jms-api.jar"/>
<pathelement location="${eclipse.home}/plugins/org.jboss.ide.eclipse.jdt.j2ee.core_1.4.1/lib/j2ee-1.4/jsp-api.jar"/>
<pathelement location="${eclipse.home}/plugins/org.jboss.ide.eclipse.jdt.j2ee.core_1.4.1/lib/j2ee-1.4/jta-api.jar"/>
<pathelement location="${eclipse.home}/plugins/org.jboss.ide.eclipse.jdt.j2ee.core_1.4.1/lib/j2ee-1.4/servlet-api.jar"/>
<pathelement location="${eclipse.home}/plugins/org.jboss.ide.eclipse.jdt.j2ee.core_1.4.1/lib/j2ee-1.4/sql-api.jar"/>
<pathelement location="${eclipse.home}/plugins/org.jboss.ide.eclipse.jdt.ws.core_1.4.1/lib/wsi-1.0/jaxr-api.jar"/>
<pathelement location="${eclipse.home}/plugins/org.jboss.ide.eclipse.jdt.ws.core_1.4.1/lib/wsi-1.0/jaxrpc-api.jar"/>
<pathelement location="${eclipse.home}/plugins/org.jboss.ide.eclipse.jdt.ws.core_1.4.1/lib/wsi-1.0/saaj-api.jar"/>
<pathelement location="${eclipse.home}/plugins/org.jboss.ide.eclipse.jdt.ws.core_1.4.1/lib/wsi-1.0/xml-api.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/urlrewrite-1.2.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/c3p0-0.8.4.5.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/cglib-full-2.0.1.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/commons-beanutils.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/commons-collections.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/commons-digester.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/commons-fileupload.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/commons-lang.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/commons-logging.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/commons-validator.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/dom4j-1.4.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/easymock.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/ehcache-0.7.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/hibernate2.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/hsqldb.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/jakarta-oro.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/jstl.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/jta.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/junit.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/log4j-1.2.8.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/odmg-3.0.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/oscache-2.0.1.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/sitemesh-2.0.2.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/spring.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/standard.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/struts.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/struts-el.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/strutstest-2.1.0.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/equinox/web/WEB-INF/lib/aopalliance.jar"/>
<pathelement location="I:/hibernate-2.1/lib/xml-apis.jar"/>
<pathelement location="I:/hibernate-2.1/lib/ant-optional-1.5.3.jar"/>
<pathelement location="I:/hibernate-2.1/lib/c3p0-0.8.4.5.jar"/>
<pathelement location="I:/hibernate-2.1/lib/cglib-full-2.0.1.jar"/>
<pathelement location="I:/hibernate-2.1/lib/commons-collections-2.1.jar"/>
<pathelement location="I:/hibernate-2.1/lib/commons-dbcp-1.1.jar"/>
<pathelement location="I:/hibernate-2.1/lib/commons-lang-1.0.1.jar"/>
<pathelement location="I:/hibernate-2.1/lib/commons-logging-1.0.3.jar"/>
<pathelement location="I:/hibernate-2.1/lib/commons-pool-1.1.jar"/>
<pathelement location="I:/hibernate-2.1/lib/concurrent-1.3.2.jar"/>
<pathelement location="I:/hibernate-2.1/lib/connector.jar"/>
<pathelement location="I:/hibernate-2.1/lib/dom4j-1.4.jar"/>
<pathelement location="I:/hibernate-2.1/lib/ehcache-0.7.jar"/>
<pathelement location="I:/hibernate-2.1/lib/hsqldb.jar"/>
<pathelement location="I:/hibernate-2.1/lib/jaas.jar"/>
<pathelement location="I:/hibernate-2.1/lib/jboss-cache.jar"/>
<pathelement location="I:/hibernate-2.1/lib/jboss-common.jar"/>
<pathelement location="I:/hibernate-2.1/lib/jboss-jmx.jar"/>
<pathelement location="I:/hibernate-2.1/lib/jboss-system.jar"/>
<pathelement location="I:/hibernate-2.1/lib/jcs-1.0-dev.jar"/>
<pathelement location="I:/hibernate-2.1/lib/jdbc2_0-stdext.jar"/>
<pathelement location="I:/hibernate-2.1/lib/jgroups-2.2.1.jar"/>
<pathelement location="I:/hibernate-2.1/lib/jta.jar"/>
<pathelement location="I:/hibernate-2.1/lib/junit-3.8.1.jar"/>
<pathelement location="I:/hibernate-2.1/lib/log4j-1.2.8.jar"/>
<pathelement location="I:/hibernate-2.1/lib/odmg-3.0.jar"/>
<pathelement location="I:/hibernate-2.1/lib/oscache-2.0.jar"/>
<pathelement location="I:/hibernate-2.1/lib/proxool-0.8.3.jar"/>
<pathelement location="I:/hibernate-2.1/lib/swarmcache-1.0rc2.jar"/>
<pathelement location="I:/hibernate-2.1/lib/xalan-2.4.0.jar"/>
<pathelement location="I:/hibernate-2.1/lib/xerces-2.4.0.jar"/>
<pathelement location="I:/hibernate-2.1/lib/ant-1.5.3.jar"/>
<pathelement location="I:/hibernate-2.1/hibernate2.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/appfuse/lib/xdoclet-1.2.3/lib/xjavadoc-1.1.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/appfuse/lib/xdoclet-1.2.3/lib/xdoclet-apache-module-1.2.3.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/appfuse/lib/xdoclet-1.2.3/lib/xdoclet-ejb-module-1.2.3.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/appfuse/lib/xdoclet-1.2.3/lib/xdoclet-hibernate-module-1.2.3.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/appfuse/lib/xdoclet-1.2.3/lib/xdoclet-spring-module-1.2.3.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/appfuse/lib/xdoclet-1.2.3/lib/xdoclet-web-module-1.2.3.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/appfuse/lib/xdoclet-1.2.3/lib/xdoclet-xdoclet-module-1.2.3.jar"/>
<pathelement location="C:/Documents and Settings/Administrator/桌面/appfuse/lib/xdoclet-1.2.3/lib/xdoclet-1.2.3.jar"/>
</path>
<path id="xdoclet.classpath">
<path refid="project.classpath"/>
<fileset dir="${xdoclet.basedir}">
<include name="*.jar"/>
<exclude name="xdoclet-module-jboss-net-*.jar"/>
</fileset>
<fileset dir="${xdoclet.basedir}">
<include name="xdoclet-module-jboss-net-${jboss.net.version}*.jar"/>
</fileset>
</path>
<target name="_xdoclet_generation_" depends="N10004"/>
<target name="N10004" description="hibernate">
<taskdef classpathref="xdoclet.classpath" classname="xdoclet.modules.hibernate.HibernateDocletTask" name="hibernatedoclet"/>
<hibernatedoclet excludedTags="@version,@author,@todo,@see" destDir="src" addedTags="@xdoclet-generated at ${TODAY},@copyright The XDoclet Team,@author XDoclet,@version ${version}" >

<fileset dir="src" includes="org/appfuse/model/*.java" >

</fileset>
<hibernate Version="2.0" >

</hibernate>

</hibernatedoclet></target>
</project>

该构建文件是长了点,但其实很简单,你只需关注最后一点带颜色的部分,前面是jboss ide为构建文件把整个项目的classpath都写了进去,红色部分即定义的xdoclet任务,其中destDir="src",表示声称的映射文件的位置,注意映射文件是带类路径的,比如pojo 位于org.appfuse.model下,那么生成的映射文件即在src/org/appfuse/model下;<fileset dir="src" includes="org/appfuse/model/*.java" >表示你想映射的pojo的位置,很奇怪的是我想这样写<fileset dir="src/org/appfuse/model" includes="*.java" >,构建后没任何反应,难道src中不能有多级目录,我以前在ant中写编译任务时,就曾在src中写过多级目录,在这个任务中试了半天不行,不得已只有将子目录写在includes里面


分享到:
评论

相关推荐

    Hibernate使用xdoclet生成映射文件和sql语句

    《使用Hibernate和XDoclet生成映射文件与SQL语句详解》 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,为了实现对象与数据库表之间的映射,我们需要编写XML映射...

    Hibernate 的Xdoclet模板

    而Xdoclet则是用于自动生成Java源代码和配置文件的工具,它能够根据注释自动创建Hibernate所需的XML配置文件,比如`hibernate.cfg.xml`和`*.hbm.xml`。在早期,Xdoclet广泛用于简化Hibernate项目,避免手动编写大量...

    ant+hibernate+xdoclet源码,文档,工具包.rar

    它可能涵盖了Ant构建脚本的编写,Hibernate的实体类和映射文件的创建,以及XDoclet如何自动生成这些文件的过程。"ant+xdoclet+hibernate"可能是一个示例项目或者代码库,其中包含了实际的实现,我们可以直接运行或...

    XDoclet2辅助开发hibernate3

    为了解决这个问题,XDoclet应运而生,特别是XDoclet2版本,它是一种自动化工具,能够根据Java源代码自动生成包括Hibernate映射文件在内的多种元数据文件。 XDoclet2是XDoclet的升级版,它基于JavaDoc注解,提供了一...

    Ant结合Xdoclet 实例教程(之整合 Hibernate)

    它通过XML描述构建文件来定义任务,如编译、打包、测试等,使得开发者能够自动化整个项目的工作流程。Ant的主要优点是平台无关性和灵活性,它可以根据项目需求轻松定制。 接下来是Xdoclet,这是一个基于Javadoc的...

    XDoclet 与Hibernate 映射

    总结来说,XDoclet和Ant在Java开发中扮演着重要角色,前者简化了Hibernate映射文件的管理,后者则为项目构建和自动化提供了强大支持。通过合理的利用这两者,开发者可以提高工作效率,降低出错概率,使项目管理更加...

    struts+hibernate+spring+xdoclet+ant+log4j

    **XDoclet** 是一个文档生成和代码生成工具,它可以自动根据Java源代码中的特定注解生成各种配置文件,如Hibernate的映射文件、EJB的部署描述符等。这减少了手动维护配置文件的工作量,提高了开发效率。 **Ant** 是...

    为xdoclet添加hibernate智能提示

    XDoclet通过解析Java源文件中的JavaDoc注释,根据预定义的模板生成相应的代码,如Hibernate的映射文件(.hbm.xml)和DAO层的Java代码。因此,要实现对Hibernate的智能提示,我们需要在项目的XDoclet配置中指定...

    Ant+XDoclet生成hbm文件

    总的来说,Ant和XDoclet在Java开发中起到了自动化构建和元数据驱动的作用,尤其是对于Hibernate ORM的使用,它们提供了一种高效的方式来生成和管理HBM文件。了解并掌握这种技术,对于理解Java的构建流程和ORM原理...

    Xdoclet生成*.hbm.xml映射文件

    为了解决这一问题,Xdoclet应运而生,它是一种基于Javadoc注解的工具,能够自动生成Hibernate所需的*.hbm.xml映射文件,极大地提高了开发效率。 一、Xdoclet概述 Xdoclet是一个强大的Javadoc扩展工具,它通过解析...

    XDoclet插件包以及从Java持久化类生成hibernate mapping小例子

    XDoclet是一款强大的Java文档注解处理器,它能够根据Java源代码中的特定注解自动生成各种配置文件,比如Hibernate的映射文件(*.hbm.xml)、EJB的部署描述符等。在Java持久化编程中,XDoclet的使用极大地提高了开发...

    xdoclet_lib_1.2.3

    首先,将下载的压缩包解压,然后将xdoclet_lib目录下的jar文件添加到Eclipse项目的构建路径中。接着,安装并配置XDoclet的Eclipse插件,使得IDE能够识别并处理JavaDoc注释。一旦设置完成,每次编译Java类时,XDoclet...

    Xdoclet入门基础教程

    4. 生成配置文件:使用 Xdoclet 生成对应的配置文件,如 Hibernate 映射文件。 Xdoclet 的优点 Xdoclet 有以下优点: * 自动生成配置文件:Xdoclet 可以根据 Java 代码生成对应的配置文件,减少手动编写配置文件...

    XDOCLET的使用例子

    通过在Ant构建文件(build.xml)中配置XDoclet任务,开发者可以指定要处理的源代码目录、生成的目标目录以及需要生成的文件类型。Ant的任务执行机制使得XDoclet的运行自动化,方便在大型项目中集成到持续集成流程中...

    xdoclet-src-1.2.3

    - **Hibernate支持**:对于ORM框架Hibernate,XDoclet能够自动生成实体类、映射文件(hbm.xml)以及DAO层的接口和实现。这样,开发者只需要关注数据库模型的设计,无需手动编写繁琐的持久化代码。 - **JMX管理**...

    XDoclet1.2+XDoclet教程

    XDoclet是一款强大的Java代码生成工具,它通过解析Java源代码中的特定注解(annotations),自动生成各种元数据,如EJB组件接口、Hibernate映射文件、Struts配置文件等。XDoclet 1.2是该工具的一个版本,带来了许多...

    Xdoclet入门教程

    Xdoclet 是一款开源工具,它允许开发者在 Java 源代码中使用特殊的 Javadoc 注释来生成各种元数据,例如 Java EE 应用服务器的部署描述符、Hibernate 映射文件等。这种方式使得代码与配置文件之间的耦合度降低,同时...

    xdoclet-bin-1.2.1.zip和xdoclet-bin-1.2.3.zip

    5. **持续集成**:为了保持代码和配置的一致性,可以在构建过程中集成XDoclet,每次编译时自动运行XDoclet,确保注释的更新能及时反映到配置文件中。 XDoclet虽然在Java开发领域曾经非常流行,但随着Java EE和现代...

    Xdoclet介绍

    当使用Xdoclet时,这些注释会被解析并转换成相应的Hibernate映射XML文件,就像上面展示的那样。 要开始使用Xdoclet,首先需要在项目中引入Xdoclet的依赖。然后,可以结合构建工具,如Ant或Maven,来配置和执行...

Global site tag (gtag.js) - Google Analytics