在配置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代碼
- <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" />
- lt;/hbm2java>
-
- </target>
Hibernate2:
Xml代碼
- <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代碼
- <?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代碼
- <?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檔案的輸出目錄;
Xml代碼
- <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"/>
- Middlegen_Hibernate3.rar (6.3 MB)
- 下載次數: 185