使用XDoclet生成hbm.xml

原创 2006年06月09日 19:18:00

 

使用XDoclet生成hbm.xml- -

                              

Google一下网上用XDoclet生成Hibernate Mapping和建表的文章很多,我以前都是先把表建好,然后手工写Mapping文件,这样很费时间,用XDoclet后在建模过程中在POJO类中加入XDoclet标签,这样节省了很多时间。
用XDoclet生成hbm.xml就是在.java文件里写入一些元数据,XDoclet会从这些数据以及类本身得到足够的信息来生成目标文件。当然,除了用于hibernate,XDoclet还可以用于web、ejb等等很多用途。
  XDoclet要从sourceforge上下载,包含了很多jar包、文档和例子,我觉得文档做得还是不错的,查起来比较方便。要使用XDoclet,一般要通过ant来完成,也就是在ant脚本里加入XDoclet的内容。
  由于eclipse已经包含了ant支持,因此我没有专门去下载一个ant回来,而是直接使用eclipse带的,版本是1.5.3。
  建立ANT的Build文件,输入代码如下:
<project name="Hibernate Example" default="about" basedir="../../">
 <!-- The location where your xdoclet jar files reside -->
 <!--xdoclet-1.2b3-dev built from CVS"/-->
 <property name="xdoclet.lib.home" value="c:/lib/xdoclet-1.2.2/lib"/>
 <property name="properties.dir"   value="${basedir}/ssh/WEB-INF/classes/" />
 <property name="hibernate.lib.home" value="C:/lib/hibernate-2.1.7/lib"/>
 <property name="db2.lib.home" value="d:/"/>
 <property name="pojo.dir" value="${basedir}" />
 
 <target name="clean" depends="init" description="removes all directories related to this build">
  <delete dir="${dist}"/>
 </target>
 
 <target name="init" description="Initializes properties that are used by other targets.">
  <property name="dist" value="dist"/>
 </target>
 
 <target name="prepare" depends="init,clean" description="creates dist directory">
  <echo message="Creating required directories..."/>
  <mkdir dir="${dist}"/>
 </target>
 
 <target name="hibernate" depends="prepare"
        description="Generates Hibernate class descriptor files.">               
  <taskdef name="hibernatedoclet"
      classname="xdoclet.modules.hibernate.HibernateDocletTask">     
      <classpath>
   <fileset dir="${xdoclet.lib.home}">
       <include name="*.jar"/>
   </fileset>
      </classpath>     
  </taskdef>

  <!-- Execute the hibernatedoclet task -->
  <hibernatedoclet
   destdir="${basedir}"
   excludedtags="@version,@author,@todo"
   force="true"
   verbose="true">
  
   <fileset dir="${basedir}">
       <include name="**/ssh/pojo/*.java"/>
   </fileset>

   <hibernate version="2.0"/>

  </hibernatedoclet>     
 </target>
 
<!-- ================================================================== -->
<!-- Export Database Schema from mapping files                          -->
<!-- ================================================================== -->

 <target name="db-schema">
      <path id="hibernate.mapping.files" >
            <fileset dir="${basedir}">
                 <include name="**/ssh/pojo/*.hbm.xml" />
             </fileset>
      </path>
     <pathconvert refid="hibernate.mapping.files" property="hibernate.mappings" pathsep=" "/>
     <java classname="net.sf.hibernate.tool.hbm2ddl.SchemaExport" fork="true">
         <!-- mapping file -->
         <arg line="${hibernate.mappings} --text --format --output=example_schema.ddl --delimiter=;"/>
         <classpath>
             <pathelement location="${properties.dir}"/>
             <fileset dir="${hibernate.lib.home}">
                 <include name="*.jar" />
             </fileset>
            
            <fileset dir="${db2.lib.home}">
                 <include name="**/*.jar" />
                 <include name="**/*.zip" />
             </fileset>
            
             <!-- build output path -->
             <pathelement location="."/>
         </classpath>
    </java>
 </target>
 
 <target name="about" description="about this build file" depends="init">
  <echo message="  Use this format for the arguments:"/>
  <echo message="      ant hibernate"/>
  <echo message="      ant db-schema"/>
  <echo message=""/>  
 </target>
</project>

很简单,但是最容易出问题的地方就路径关系没有理顺好。注意<project name="Hibernate Example" default="about" basedir="../../"> 中的basedir,之后所有的路径都以它为基础。

利用Eclipse/MyEclipse 实体类生成.hbm.xml文件

在Struts+Hibernate+Spring 三大框架开发web程序的时候,通常为了节省开发间,提高开发效率,通常会使用到许多三方插件,那么这次要给大家分享的是如何利用Eclipse/MyEcli...
  • judyge
  • judyge
  • 2016年03月20日 09:17
  • 2065

使用HibernateTools工具通过数据库表逆向生成实体类,hbm.xml文件等

1.下载HibernateTools工具包,解压后如下: HibernateTools文件夹下有以下两个文件夹: 2.打开Eclipse安装目录,打开eclipse...
  • HLoach
  • HLoach
  • 2017年03月17日 17:46
  • 1676

Xdoclet + Ant自动生成Hibernate配置文件

在使用Hibernate的时候,过多的Hibernate配置文件是一个让人头疼的问题。最近接触了Xdoclet这个工具。它实际上就是一个自动代码生成的工具,Xdoclet不能单独运行,必须搭配其他工具...
  • lishehe
  • lishehe
  • 2014年07月11日 11:01
  • 1997

intellij配置hibernate自动生成hbm.xml文件

在使用intellij开发Java web项目的时候,会遇到hibernate中hbm.xml文件不知道在哪里创建和生成的问题,其实intellij自动生成的配置文件虽然配置有点麻烦,但是生成确实很牛...
  • u014520745
  • u014520745
  • 2016年05月14日 21:49
  • 11163

Eclipse使用xdoclet1.2.3 生成hibernate配置文件和映射文件

用ant和xdoclet生成hibernate配置文件可以为我们省去很多配置的操作,废话不多说,直接给栗子: eclipse:Eclipse Java EE IDE for Web Developer...
  • Unseenblade
  • Unseenblade
  • 2016年10月30日 13:20
  • 1129

XDoclet的使用攻略

XDoclet的使用攻略
  • jianxin1009
  • jianxin1009
  • 2013年08月06日 10:09
  • 3189

hibernate中的映射文件xxx.hbm.xml详解总结

一.Hibernate映射文件的作用: Hibernate映射文件是Hibernate与数据库进行持久化的桥梁 二,Hibernate映射文件主要内容:     (1).映射内容的定...
  • tuke_tuke
  • tuke_tuke
  • 2015年11月08日 14:14
  • 19367

Hibernate反向工程生成hbm.xml文件和带注解模型类

Hibernate通过将模型类的mapping地址放在cfg文件中,通过读取文件反射操作模型类。 操作模型类主要分为两种,一种是对应模型类生成.hbm.xml文件,将文件地址映射在cfg文件中。生成...
  • oliver233
  • oliver233
  • 2017年04月14日 18:44
  • 375

hibernate在eclipse的逆向工程生成hbm.xml和bean类

前提条件 1,有一个项目并且已经添加了hibernate 3.x 2,有相应的数据库。只是没有关联起来。   接下来正式开始了 1,添加hibernate.cfg.xml...
  • miao0967020148
  • miao0967020148
  • 2015年12月22日 17:25
  • 2788

通过Hibernate的hbm.xml文件生成数据库表

首先,在src目录下,有一个文件,hibernate.cfg.xml,该文件的内容如下: ? hibernate-configuration PUBLIC "-//Hibernate/Hib...
  • Baple
  • Baple
  • 2015年08月18日 08:59
  • 1994
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用XDoclet生成hbm.xml
举报原因:
原因补充:

(最多只允许输入30个字)