李李的技術博客

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            13 隨筆 :: 0 文章 :: 61 評論 :: 0 Trackbacks

          我的評論

          即使是文本編輯器也很少見用記事本來寫的,效率不高
          推薦高效的方法,用UltraEdit,File/文件-->Convert/轉換 這里你想怎么轉都可以
          挺好的,提個建議
          unIncludeRegexString
          可以改為
          excludeRegexString
          為什么id和salary丟失了?
          --抱歉,這里遺漏了
          DefaultActionSupport是舊的版本,QueryWebUtils.java是tiger中重構過的版本,解析的方法是一致的,最新的以tiger版本為準
          notParameters.keySet(); 這里是bug,謝謝指正,馬上修正

          這里的用法僅是為了允許jsp的參數帶有簡單邏輯組合,可以自動處理為service可識別的參數類型
          re: openfans新功能,歡迎大家使用 李李 2006-06-10 18:47  
          不錯,支持
          根據MSN的交流,上面的情況是沒有正確引用關聯表屬性,這也是hibernate使用者容易犯的錯誤。
          舉個hsql的例子,假設child:parent關系多對一,id是主鍵
          select from Child child where child.parent.id = 1 正確
          select from Child child where child.parent.name = 'name' 錯誤
          select from Child child left join child.parent p where p.name = 'name' 正確
          多(child)這邊本來就記錄了一(parent)的主鍵,parent的時候id是可以取得的,而hibernate多對一默認關聯使用代理Proxy,這個parent的代理就是先拿到id作代理準備的,parent.id就取到了,但是parent的其它屬性就需要顯式連接才可以取到。
          同理,相應的bba96的代碼就是
          parent.id 正確
          parent.name 錯誤
          parent:p.name 正確
          bba96使用LGPL發布,跟hibernate一樣的。
          可以的
          我會給findByHQL加上names, values的參數,就可以調用了,但是這樣的調用受hibernate的一些限制,參考
          http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#sp_query
          確實想不受限制,也可直接使用session.connection()獲得jdbc connection來調用
          CVS上的CoreEntityManager有public Object getCurrentSession()的方法,類型轉化為ore.hibenate.Session即可,缺省此方法不在EntityManager中提供。
          謝謝你的關注,請多提意見
          這是我在Blogjava看到最好看的頁面風格,呵呵
          re: 做這一行的人是這樣的?! 李李 2006-03-03 15:06  
          有趣,支持
          這個是一定要發給MM看滴
          內部就是調用hibernate的projections.setProperty,hibernate支持什么結構就是什么結構
          謝謝評價,提到的缺陷在cvs上已經有部分修正了。主要是action層的一些修正,例如web參數安全。支持多個分頁在考慮中,關于service安全更請具體一些,service是設計為允許extend的,另,目前將會基于aop加入權限控制。最近忙于一個項目的升級,這方面時間用少了很多啊
          現在cvs上的也是比較穩定的,暫時沒有發現bug。幾個項目從1.0開始都在用
          pojo的package下。
          classname-conversion.properties
          給你補充一點,-conversion.properties設定不局限于webwork action,支持任意pojo,意味著可以支持無限層次的Collection自動賦值,如:
          root.one[0].two[0].three[0]
          root.one[0].two[0].three[1]
          ...
          root.one[n].two[n].three[n]
          CVS上已加入前臺傳入的參數校驗以及額外增加參數的功能,都可以通過配置properties文件實現,增加了安全性及靈活性
          不太明白,頁面顯示有什么問題?Set一樣可以iterator
          上面有寫,MSN: hotmail的帳號scorpio_leon
          用CVS上的吧,現在release的只支持Long的主鍵,CVS上的去掉了這個限制
          有問題可以加我的MSN或者到這里討論
          http://forum.bba96.com/forum.jspa?forumID=29&start=0
          還將加入權限控制的模塊,由于一直在趕項目,還來不及把權限發布,因為還有一些需要調整的代碼。
          find(Cat.class, new String[]{"name", "kittens:kitten.name"}, new String[]{"like", "like"}, new Object[]{"F%", "F%"})
          這是action/service的寫法,若你用webwork,框架中支持直接從jsp解析參數,就比較方便了。

          冒號后表示別名,還可以繼續進行關聯查詢如 kittens:kitten.propeties:property.name,沒有層次的限制。
          The operator can only be set 'is' or '=' or 'is not' or '!=' when value is NULL!"
          這個異常就是告訴你現在的值是null,對應的操作符只能是=, !=, is, is not。

          因為查詢的字段有可能是對象,null是有意義,所以要忽略view傳過來的參數,應該由Action這層處理,缺省的頁面傳遞過來,有參數名的值,沒填的時候就是空,因此在我的webwork action中對空串作了忽略處理,同時還已經作了string到一般對象的轉換,你的jsp中可以這樣寫endTime_Date。以下這一段通過自動處理都能省掉,你可以參考一下,用struts也能實現。

          String startTime = (String) tradeInfoForm.get("startTime");

          String endTime = (String) tradeInfoForm.get("endTime");

          String tradeType = (String) tradeInfoForm.get("tradeType");

          String terminalId = (String) tradeInfoForm.get("terminalId");

          Date startTime2 = null;

          Date endTime2 = null;

          try {

          if (startTime != null && startTime.trim().length() > 0) {
          startTime2 = DateUtil.StringToDate(startTime);
          }

          if (endTime != null && endTime.trim().length() > 0) {

          endTime2 = DateUtil.StringToDate(endTime);
          }


          } catch (ParseException e) {


          e.printStackTrace();
          }

          String[] names = new String[] { startTime, endTime, tradeType,
          terminalId };
          String[] operators = new String[] { QueryParam.OPERATOR_GT,
          QueryParam.OPERATOR_LT, QueryParam.OPERATOR_EQ,
          QueryParam.OPERATOR_EQ };
          Object[] values = new Object[] { startTime2, endTime2, tradeType,
          terminalId };

          host:cvs.dev.java.net
          repository path:/cvs
          user:guest
          password:(空)
          然后
          check out bba96
          cvs最新的不限制主鍵類型
          DefaultActionSupport一部分是簡化webwork持久化操作,另一部分就是解析jsp或者properties傳遞的參數,后面這部分是類似的,直接就可以用。我的框架已經應用在我以及其他用戶開發的很多工程中,你可以放心采用,建議取cvs上最新的。
          這個很容易實現,只要有關聯,bba96在動態產生查詢語句方面比較強大的,特別是方便的別名無限關聯,以及復雜的邏輯關系組合。具體看QueryObject,QueryParam。
          不過暫時還沒有struts整合的代碼,而且以后struts ti將以webwork為核心,所以我也不打算為現有的struts做整合了,所謂不能整合只是不方便jsp調用,但是action層是直接支持的,不須特別整合。
          HQL應該跟Critiera+Projections比較,雖然我沒有仔細比較過,不過沒感覺HQL強大多少?我看Critiera+Projections都能實現嘛,或者你舉個例子讓我看看。 MSN: hotmail的帳號scorpio_leon
          除非Critiera支持,目前不能,需要對象間有關聯,因為內部還是Critiera得query方法。
          re: 申請加入“架構師之家” 李李 2005-12-13 23:40  
          呵呵,關注,支持
          re: Webwork 2.1.7 的一個小缺陷 李李 2005-12-03 21:55  
          算了,還是用return String作為通知手段吧。
          re: WebWork2.2新特性文章集合 李李 2005-10-17 19:14  
          辛苦了……Webwork我喜歡
          主站蜘蛛池模板: 武冈市| 仙居县| 蓝山县| 广饶县| 峨眉山市| 额尔古纳市| 米脂县| 巩义市| 锡林郭勒盟| 崇仁县| 瑞丽市| 玛沁县| 威信县| 称多县| 元谋县| 民乐县| 万全县| 介休市| 汉阴县| 冷水江市| 罗源县| 盐山县| 达孜县| 济源市| 清丰县| 扎兰屯市| 新津县| 苏州市| 盈江县| 虎林市| 宁明县| 女性| 桐梓县| 黄大仙区| 沙洋县| 封开县| 石嘴山市| 建德市| 保山市| 汉源县| 永川市|