利用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:

Xml代码  收藏代码
  1.  <target name="hbm2java"   description="Generate .java from .hbm files.">  
  2.     <taskdef  
  3.        name="hbm2java"  
  4.        classname="org.hibernate.tool.ant.HibernateToolTask"  
  5.        classpathref="lib.class.path"  
  6.     />  
  7.     <hbm2java destdir="${build.gen-src.dir}">  
  8. <configuration>  
  9.     <fileset dir="${build.gen-src.dir}">  
  10.         <include name="**/*.hbm.xml"/>  
  11.     </fileset>  
  12. </configuration>  
  13. <hbm2java jdk5="true" />  
  14. lt;/hbm2java>  
  15.   
  16.  </target>  

 Hibernate2:

Xml代码  收藏代码
  1.  <target name="hbm2java" description="Generate .java from .hbm files.">  
  2.     <taskdef  
  3.        name="hbm2java"  
  4.        classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"  
  5.        classpathref="lib.class.path"  
  6.     />  
  7.   
  8. <hbm2java output="${build.gen-src.dir}">  
  9.     <fileset dir="${build.gen-src.dir}">  
  10.         <include name="**/*.hbm.xml"/>  
  11.     </fileset>  
  12. </hbm2java>  
  13.  </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代码  收藏代码
  1. <?xml version="1.0"?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC  
  3.     "-//Hibernate/Hibernate Mapping DTD 2.0//EN"  
  4.     "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >  

 

改之后: 

Xml代码  收藏代码
  1. <?xml version="1.0"?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC  
  3.     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  4.     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >  

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

Xml代码  收藏代码
  1. <property name="ehr.basedir" value="<span style="color: #ff9900;">D:\WORK_EHR\workspaceEHR\EHR</span>"/>  

 

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

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

 

原文地址:https://www.cnblogs.com/chenying99/p/2687641.html