利用Middlegen Hibernate3生成hbm.xml配置和java类

在配置Middlegen Hibernate3过程中遇到的一些问题

1. Couldn't connect to database: encoding not supported!!

 解决办法:删除之前的数据库jar包,引入附件中的数据库包db2java.jar、db2jcc_javax.jar、db2jcc.jar

2. 成功生成xml后再生成java文件时异常doesn't support the "output" attribute 与net/sf/hibernate/MappingException

   因为引用的是Hibernate3要与之前的Hibernate2配置有很大不同修改配置

 Hibernate3:

   <target name="hbm2java"   description="Generate .java from .hbm files.">
      <taskdef
         name="hbm2java"
         classname="org.hibernate.tool.ant.HibernateToolTask"
         classpathref="lib.class.path"
      />
   	<hbm2java destdir="${build.gen-src.dir}">
		<configuration>
			<fileset dir="${build.gen-src.dir}">
				<include name="**/*.hbm.xml"/>
			</fileset>
		</configuration>
		<hbm2java jdk5="true" />
	</hbm2java>

   </target>

 Hibernate2:

   <target name="hbm2java" description="Generate .java from .hbm files.">
      <taskdef
         name="hbm2java"
         classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"
         classpathref="lib.class.path"
      />
		
		<hbm2java output="${build.gen-src.dir}">
			<fileset dir="${build.gen-src.dir}">
				<include name="**/*.hbm.xml"/>
			</fileset>
		</hbm2java>
   </target>

 3.Don't use old DTDs, read the Hibernate 3.x Migration Guide!

 解决办法:修改middlegen-hibernate-plugin-2.1.jar 中的\middlegen\plugins\hibernate\hibernate.vm

 改之前:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

 

改之后: 

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

 完整工程见附件,自己修改build.xml java类及XML文件的输出目录;

<property name="ehr.basedir" value="D:\WORK_EHR\workspaceEHR\EHR"/>

 

[middlegen] No <table> elements specified. Reading all tables. This might take a while...

如果想要生成指定表,可以在middlegen任务节点中添加<table name="tableName"/>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值