Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
使用hibernate扩展工具hbm2java根据配置文件生成持久化对象类(2.1.2)

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

使用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查看输出,可选。



相关文章

相关软件