使用hibernate扩展工具hbm2java根据配置文件生成持久化对象类(2.

80酷酷网    80kuku.com

  对象
使用hbm2java生成代码是非常容易的,比hibernate提供的schemaExport(配置文件到数据库)的使用容易得多。真不知道作者怎么搞的,把个schemaExport写得这么难...... 1.开始前的准备  1.1 准备hibernate-2.1.6.zip  1.2 准备hibernate-extensions-2.1.2.zip  1.3 准备logging-log4j-1.2.9.zip  1.4 把相关.jar文件全部复制到工程目录之下的lib目录  1.5 知道如何使用ant。可阅读我写的文章"非常简单的ant文件"2.创建工程目录及文件结构如下
Payment  <dir>|-src  <dir>|-hbm  <dir>  |-payment  <dir>    |-Payment.hbm.xml|-classes  <dir>|-lib  <dir>|-build.xml|-hibernate.codegen.xml|-log4j.properties3.各文件代码  3.1 build.xml <project name="" basedir="./" default="g">  <path id="p">    <fileset dir="lib/">      <include name="**/*.jar"/>    </fileset>  </path>  <target name="g" >    <taskdef name="g" classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask" classpathref="p"/>    <g config="hibernate.codegen.xml" output="src">      <fileset dir="hbm">        <include name="**/*.hbm.xml"/>      </fileset>    </g>  </target></project>  3.2 hibernate.codegen.xml <?xml version='1.0' encoding='gbk'?><codegen>  <generate renderer="net.sf.hibernate.tool.hbm2java.BasicRenderer"/></codegen>  3.3 log4j.properties # Configure logging for testinglog4j.rootLogger=DEBUG, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.SimpleLayout  3.4 Payment.hbm.xml<?xml version="1.0" encoding="gbk"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"><hibernate-mapping>  <class name="payment.Payment" table="PAYMENT">    <id name="id" type="long" column="PAYMENT_ID">      <generator class="native"/>    </id>    <property name="amount" column="AMOUNT" type="long"/>  </class></hibernate-mapping>4.说明  4.1 build.xml文件中将hibernate extensions包提供的net.sf.hibernate.tool.hbm2java.Hbm2JavaTask定义为一个任务。  4.2 此任务根据hbm目录包括子目录下的所有以.hbm.xml结尾的hibernate配置文件生成.java文件,并输出到src目录。输出的.java路径是根据class标签中的name属性。  4.3 需要给Hbm2JavaTask类指定一个类渲染器配置文件hibernate.codegen.xml。  4.3 配置log4j.properties查看输出,可选。



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: