怎么样使用应用middlegen同时生成.java和.hbm.xml文件?
刚开始研究hibernate,第一次尝试使用middlegen根据数据库结构来生成.java和.hbm.xml文件,在网上查了一些文章,比较顺利启动middlegen主界面,按了【genarate】按钮之后,发现只生成了一些.hbm.xml文件(这些过程网上介绍很多,就不说了),并没有同时生成.java文件,继续上网查,但是找到的都是说使用hbm2java来生成,可是我分明看到middlegen的build.xml文件中有一个target,name就是hbm2java,应该是可以使用middlegen一起生成.java文件的。国内网站用baidu.com搜索了一下,没有找到答案告诉我如何应用middlegen生成.java文件。于是只好跑到www.hibernate.org上查,还好真找到了。贴在这里,希望对看到的人会有帮助。
主要就是将原来build.xml文件中<target name="hbm2java".......这一段替换一下,并进行简单修改。替换内容如下: <target name="hbm2java" description="Generate .java from .hbm files." depends="init"> <property name="hbm.dir" location="${build.gen-src.dir}/com/yourcompany/youproject/pojos/"/> <replaceregexp match='cascade="none"' replace='cascade="all"' byline="true"> <fileset dir="${hbm.dir}" includes="MapRequest.hbm.xml,MapRun.hbm.xml" /> </replaceregexp> <mkdir dir="${build.gen-src.dir}"/> <taskdef name="hbm2java" classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask" classpathref="lib.class.path" /> <hbm2java output="${build.gen-src.dir}" classpathref="lib.class.path"> <fileset dir="${build.gen-src.dir}"> <include name="**/*.hbm.xml"/> </fileset> </hbm2java> </target>然后还需要弄几个jar包到middlegen的lib中。包括:
hibernate2.jar commons-lang-1.0.1.jar jdom.jar hibernate-tools.jar这些包可以在middlegen扩展及hibernate中发现
然后用ant执行这个build.xml文件,命令行: ant -file build.xml hbm2java我这里效果还是很好的。