近來由于要做一個項目,需要用到middlegen+hibernate自動生成mapping files和java文件,但是到網上去搜索搜索卻沒找到什么詳細的講解,自己摸索了摸索,現(xiàn)在把經驗寫在這里,以免以后我給忘了,也順便給大家提供點方便。需要的工具有ant,jdk1.4以上,hibernate,middlegen。大家可以從網上進行下載,下面的地址是一個middlegen的例子。
http://sourceforge.net/project/showfiles.php?group_id=40712 </P><P> 首先打開解壓這個例子,發(fā)現(xiàn)里面有一個build.xml文件,用文件編輯器打開它,看到第一句如下:
<!DOCTYPE project [
<!ENTITY database SYSTEM "file:./config/database/hsqldb.xml">這句話定義了從不同種類數(shù)據庫的配置文件里面選取一種。這個例子選取的是它自帶的hsqldb數(shù)據庫,因此我們就需要選取相應的文件,這些文件都放在/config/databse/里面,由于我用的是sqlserver數(shù)據,因此我就改成mssql.xml就行了,然后我們要做的就是要配置mssql.xml文件和build.properties文件配置hibernate-extensions
在hibernate-extensions-2.1.2\tools\bin目錄有一個setenv.bat文件,改變其內容為:
set JDBC_DRIVER=C:\java\Middlegen-Hibernate-r5\lib\mysql-connector-java-3.0.15-ga-bin.jar
set HIBERNATE_HOME=C:\java\hibernate-2.1.6
set CORELIB=%HIBERNATE_HOME%\libset LIB=..\lib
set PROPS=%HIBERNATE_HOME%\src
set CP=%JDBC_DRIVER%;%PROPS%;%HIBERNATE_HOME%\hibernate2.jar;%CORELIB%\commons-logging-1.0.4.jar;%CORELIB%\commons-collections-2.1.1.jar;%CORELIB%\commons-lang-1.0.1.jar;%CORELIB%\cglib-full-2.0.2.jar;%CORELIB%\dom4j-1.4.jar;%CORELIB%\odmg-3.0.jar;%CORELIB%\xml-apis.jar;%CORELIB%\xerces-2.4.0.jar;%CORELIB%\xalan-2.4.0.jar;%LIB%\jdom.jar;%LIB%\..\hibernate-tools.jar
注意紅色字體提示的均是路徑和JAR文件名,一定要正確。
5、運行hibernate-extensions,根據hbm.xml產生POJO文件
在DOS中運行hbm2java c:\sample\org\hibernate\sample\*.xml --output=c:\sample\
//更正:
hibernate-extensions使用很簡單,主要是配置classpathrem 設置數(shù)據庫的驅動
set JDBC_DRIVER=%ORACLE_HOME%\jdbc\lib\classes12.jar
rem 設置HibernateTools_Home 把Hibernate工具所用到了庫加入classpath中
set HIBERNATETOOLS_HOME=F:\Hibernate\Dev\hibernate-extensions-2.1.3\toolsrem 加入Hibernate的庫 和 他編譯后生成的文件
set CORELIB=%HIBERNATE_HOME%\lib
set LIB=%HIBERNATETOOLS_HOME%\lib
set PROPS=%HIBERNATE_HOME%\srcset CP=%CLASSPATH%;%JDBC_DRIVER%;%PROPS%;%HIBERNATE_HOME%\hibernate2.jar;%CORELIB%\commons-logging-1.0.4.jar;%CORELIB%\commons-lang-1.0.1.jar;%CORELIB%\cglib-full-2.0.2.jar;%CORELIB%\dom4j-1.4.jar;%CORELIB%\odmg-3.0.jar;%CORELIB%\xml-apis.jar;%CORELIB%\xerces-2.4.0.jar;%CORELIB%\xalan-2.4.0.jar;%LIB%\jdom.jar;%LIB%\velocity-1.3.1.jar;%CORELIB%\commons-collections-2.1.1.jar;%HIBERNATETOOLS_HOME%\hibernate-tools.jar
注意:查看CP中設置的文件在Hibernate/lib文件下是否存在,由于版本更新 ,有些庫版本已經改變。
若遇到Java.lang.NoClassDefFoundError :文件名 ,則說明classpath設置有問題