寫(xiě)程序,做產(chǎn)品,過(guò)日子

          成功其實(shí)很簡(jiǎn)單,就是強(qiáng)迫自己堅(jiān)持下去

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

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

          下面重點(diǎn)說(shuō)說(shuō)Eclipse平臺(tái)下的一些開(kāi)發(fā)工具。

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

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

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

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

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

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

          Technorati
          : , , ,

          posted on 2006-11-08 12:16 Welkin Hu 閱讀(247) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Java
          主站蜘蛛池模板: 南宫市| 竹山县| 云梦县| 赤城县| 长汀县| 白城市| 略阳县| 桓台县| 开江县| 库尔勒市| 仁怀市| 长兴县| 虎林市| 西林县| 蒲城县| 柳林县| 乳源| 鄯善县| 华池县| 江华| 横山县| 古蔺县| 鱼台县| 淳安县| 齐齐哈尔市| 策勒县| 高密市| 滦南县| 平乐县| 阿尔山市| 新营市| 大埔县| 莫力| 海伦市| 丹江口市| 长子县| 青田县| 扶沟县| 博湖县| 保山市| 古蔺县|