Java Blog for Alex Wan

          Let life be beautiful like summer flowers and death like autumn leaves.

          統(tǒng)計

          留言簿(10)

          BlogJava

          Blogs

          DIV+CSS

          JQuery相關(guān)

          友情鏈接

          常去的地方

          數(shù)據(jù)供應

          閱讀排行榜

          評論排行榜

          appfuse中生成以S結(jié)尾的數(shù)據(jù)表對應的代碼出錯的解決方案

          首先使用appfuse是應該盡量避免以S結(jié)尾的單詞來作為數(shù)據(jù)表名,但是很多時候并不是這樣的。數(shù)據(jù)表的名字不能改變的時候我們只能從其他方面想辦法了!
          在google搜索相關(guān)的信息,只找到這一篇文章是有用的,并給予我修改的思路。

          http://jira.codehaus.org/browse/MIDDLEGEN-13?page=com.atlassian.jira.plugin.system.issuetabpanels:changehistory-tabpanel
          The algorithm for creating singular versions of table names doesn't account for singular words that end in "s". For example, a table called MumbleFooStatus becomes MumbleFooStatu
          Suggestion #1: in Util.singularise(), check for a vowel other than "e" before a final "s".

          Suggestion #2: change the default behaviour to not singularise tablenames. I think it's bad form for a tool to change the names of my data objects without my consent.

          Workarounds: specify table names in build.xml, or if you're using the hibernate plugin, fix the table names in the <dbname>-prefs.properties generated by the plugin and re-run middlegen.

          第二點中提到改變middlegen的默認行為讓其不去單數(shù)化數(shù)據(jù)表名。

          我們要做的有幾個步驟(粗略的看了middlegen源碼做的修改):
          1:下載middlegen源碼,下載地址
          http://sourceforge.net/project/downloading.php?group_id=36044&use_mirror=jaist&filename=middlegen-2.1-src.zip
          2:解壓并編輯MiddlegenTask.java中的代碼

          private static boolean _singularize = true;
          改成
          private static boolean _singularize = false;
          3:重新編譯并打包成jar,在middlegen的根目錄下輸入命令行命令:ant jar即可
          4:將新的middlegen-2.1.jar替換目標項目(已生成)中extras\middlegen\lib\middlegen-2.1的middlegen-2.1.jar
          這樣,在生成以S結(jié)尾的數(shù)據(jù)表名對應的代碼就不會出錯了!
          但是這樣做始終有不好的地方:在表示對象復數(shù)的地方就會出現(xiàn)不盡人意的代碼了,但是不管怎么樣,代碼還是生成出來了,后期的工作就可以依靠手動去修改。
          所以還是盡量去遵循不以S結(jié)尾的單詞作為數(shù)據(jù)表名。 



          Let life be beautiful like summer flowers and death like autumn leaves.

          posted on 2008-06-07 09:28 Alexwan 閱讀(370) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 富蕴县| 延吉市| 白沙| 政和县| 井研县| 浑源县| 日土县| 朔州市| 沅陵县| 晋宁县| 桂林市| 大方县| 日土县| 盘山县| 桐城市| 郸城县| 岳阳县| 龙游县| 北宁市| 镇巴县| 罗田县| 安义县| 西丰县| 扎囊县| 嵊州市| 托克逊县| 隆德县| 洞口县| 兰坪| 织金县| 怀仁县| 花垣县| 通渭县| 南康市| 南丹县| 天峨县| 恩施市| 黄平县| 西昌市| 六枝特区| 盐城市|