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

类别:Java 点击:0 评论:0 推荐:

使用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.properties

3.各文件代码
  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 testing

log4j.rootLogger=DEBUG, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.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查看输出,可选。

本文地址:http://com.8s8s.com/it/it10327.htm