寫程序,做產(chǎn)品,過日子

          成功其實很簡單,就是強(qiáng)迫自己堅持下去

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            69 Posts :: 1 Stories :: 92 Comments :: 0 Trackbacks

          目前Java IDE的主流自然是eclipse系列,我一直用的也是這個。在Sun積極宣傳Netbeans5.5的時候,我也試用了一下,并沒有找到從eclipse轉(zhuǎn)移過去的理由。我對它的不滿意主要有兩點:
          1、沒有所見即所得的JSP/HTML編輯器。
          2、沒有為Hibernate提供開發(fā)支持。
          Netbeans5.5在java 6下的桌面開發(fā)能力很強(qiáng),不過短期內(nèi)我還用不上。

          下面重點說說Eclipse平臺下的一些開發(fā)工具。

          1、JSP/HTML編輯工具
          Lomboz是開源的JSP編輯器,不過它不支持所見即所得的可視化編輯。雖然我并不喜歡在可視化設(shè)計界面中通過拖拉來調(diào)整頁面。但是它對代碼的快速定位是我所需要的。
          Bea Workshop for JSP的確精彩,不過它要求把所有的JSP一個WEB-INF的目錄。我的項目很大,每個模塊都有獨立的JSP目錄,這個要求很煩的。好像這個目錄可以配置(但是必須有),不過由于其它原因,我已經(jīng)放棄了。
          我現(xiàn)在選的是MyEclipse,它的JSP編輯器做得不如Bea Workshop精細(xì)和強(qiáng)大,但是自由,夠用。另外,MyEclipse比Bea Workshop便宜得多,有可能說服老板買單。不過,MyEclipse集成的Hibernate功能著實讓我光火了很長的時間。

          2. Hibernate集成工具
          在Eclipse中集成Hibernate開發(fā)的有三種:Hibernate官方出的Hibernate Tools, Myeclipse和Bea Workshop。Jbuilder 2007也部分支持Hibernate。Hibernate Tools是開源的,其它的工具都是在它的基礎(chǔ)上進(jìn)行增強(qiáng)而來的。

          如果使用Ant命令來操作Hibernate Tools,你會發(fā)現(xiàn)它非常強(qiáng)大,可以靈活的在表,HBM和pojo間互相轉(zhuǎn)換。可是它的Eclipse集成太狠了點,只要求一個逆向工程的配置文件,就可以根據(jù)數(shù)據(jù)庫表生成所有的HBM和pojo。這個功能貌似一步到位,其實很不靈活。
          (1)如何寫好HBM是很有學(xué)問的,我經(jīng)常需要細(xì)心的調(diào)理好HBM再生成pojo。
          (2)每次生成時都一刀切的做法對于增量開發(fā)來說是個災(zāi)難。好不容易調(diào)理好的HBM和Pojo,一下子全被沖掉了。
          (3)它的數(shù)據(jù)庫連接也有個問題,不會過濾Schema,每次都把所有的數(shù)據(jù)庫列出來。我們的開發(fā)數(shù)據(jù)庫服務(wù)器上安裝有三四十個數(shù)據(jù)庫,想想多么恐怖啊。
          Hibernate Tools最強(qiáng)的功能,當(dāng)數(shù)HQL編輯器。可以查錯,可以檢查最終生成的SQL,可以得到運行結(jié)果,可以添加參數(shù)。這些功能實在是太有用了。

          Myeclipse對Hibernate Tools進(jìn)行了改進(jìn)。所以它和原生的Hibernate Tools共存時會發(fā)生一些奇怪的問題。Myeclipse中有兩個改進(jìn)非常棒:指定數(shù)據(jù)庫Schema(再也不用在三四個數(shù)據(jù)庫中找我的那份試驗田了),根據(jù)選中的HBM生成Pojo(放心大膽的用吧,已經(jīng)做好的HBM和Pojo不會再被沖掉了)。
          不過,Myeclipse對HQL編輯器的改進(jìn)就有點讓人光火了。首先是連接問題,橫豎就是連不上數(shù)據(jù)庫,左找右找找不到原因,最后把Eclipse workspace重建,把相同的配置連接,一下子又可以了。
          其次,Myeclipse沒有提供新建HQL編輯器的菜單,而是在我手工建立一個hql的文件后,在打開它時調(diào)用HQL編輯器!打開的過程可能涉及到數(shù)據(jù)庫連接,非常慢。如果你在退出eclipse中沒有關(guān)掉HQL文件,那么再次進(jìn)入eclipse的時候,您先去喝杯茶,慢慢等吧。

          Bea Workshop各方面做得都非常精致,Hiberenate集成也不例外,各類編輯器的功能布局明了易用。但是我在試用時碰到一個難以置信的致命的bug:所有Bea Workshop編輯器和對話框中的文本輸入框基本不接收光標(biāo)!
          這是什么概念?就是說你沒法點進(jìn)文本框,沒法輸入任何東西。我唯一成功的一次是在沒有光標(biāo)的情況下,亂打了幾個字母再回車。對話框沒有顯示任何東西直接關(guān)閉,但在主編輯器中我打的字母顯示了出來。不過除了文本框外,其它的如下拉框,選擇框都正常。
          哪個開發(fā)人員會出這么離譜的Bug啊!我試過兩臺機(jī),問題一模一樣。難道是因為我的JDK是1.5的緣故?!
          不管什么原因,我是沒辦法再試下去了,只好將其請出了我的電腦。在請出之前,通過菜單檢查,沒有發(fā)現(xiàn)指定HBM生成Pojo的功能。這兩大原因,足夠我放棄它了。

          Jbuilder 2007做得太強(qiáng)了。我用它明顯感覺小腳穿大鞋。人家根本不希罕Hibernate。僅僅把Hiberenate作為EJB 3.0和JPA的一種實現(xiàn)方式。所以根據(jù)沒有HBM這一說。而且是徹頭徹尾的可視化MDA開發(fā)。真的需要一個明星團(tuán)隊,在嚴(yán)格的流程支持下,才能玩轉(zhuǎn)Jbuilder 2007。我兩個條件都不符合,最重要的是老板嫌它太貴,只能放棄。

          Technorati : , , , ,

          posted on 2007-01-28 17:27 Welkin Hu 閱讀(1019) 評論(3)  編輯  收藏 所屬分類: Java

          Feedback

          # re: Java IDE與開發(fā)工具試用印象 2007-04-14 10:27 patriotlml
          好文章.
          收藏  回復(fù)  更多評論
            

          # re: Java IDE與開發(fā)工具試用印象 2008-01-18 10:39 GentleYang
          雖然我還是個coder新人;但是對于博主關(guān)于Eclipse中集成hibernate的相關(guān)論述不能完全茍同... 在開源時代,幾乎你能想到的別人也都想到了,所以我很樂意在遇到一個非領(lǐng)域性問題時先去查找是否別人也遇到過這個問題...

          在Eclipse中做hibernate相關(guān)的開發(fā),現(xiàn)在已經(jīng)有了N多的工具或插件嘞... 可以滿足幾乎所有要求嘞... N個數(shù)據(jù)源可以同時切換、一個庫的N個表可以自由選擇映射與否或者重映射與否... 總之可以讓開發(fā)人員隨心所欲地控制和利用它,甚至你可以把它生成的HBM改得面目全非,下次更新時再選擇使用哪個版本...

          PS:一點個人體會 ^=^  回復(fù)  更多評論
            

          # re: Java IDE與開發(fā)工具試用印象[未登錄] 2008-01-18 12:44 Welkin Hu
          @GentleYang
          印象嘛,就是工作當(dāng)中碰到的一些事情和感受。
          “在開源時代,幾乎你能想到的別人也都想到了”這句話沒錯,但想到不等于做到。坦率的說,開源產(chǎn)品還有太多的東西沒有做到,尤其是易用性方面。  回復(fù)  更多評論
            

          主站蜘蛛池模板: 深水埗区| 石门县| 莒南县| 类乌齐县| 青岛市| 固始县| 洪洞县| 阿克苏市| 乌拉特前旗| 新蔡县| 高雄县| 贵溪市| 城步| 弥勒县| 抚州市| 深水埗区| 林口县| 苍溪县| 贺兰县| 交城县| 宜兰市| 林甸县| 涞水县| 关岭| 赞皇县| 温泉县| 韩城市| 镇雄县| 定安县| 二连浩特市| 铜川市| 南部县| 平潭县| 余姚市| 阜康市| 丰县| 剑阁县| 伊宁市| 抚远县| 阿坝县| 泗阳县|