xih  
          日歷

          導航

          常用鏈接

          留言簿(2)

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           

          2006年5月9日

          在查詢時報下面的錯誤,使用的是hibernate,oracle數據庫,并做了集群
          WARN - SQL Error: 17002, SQLState: null
          ERROR - Io 異常:Software caused connection abort: recv failed
          請問是什么原因造成的,謝謝!

          posted @ 2010-09-02 10:37 費思量 閱讀(514) | 評論 (0)編輯 收藏
           
          ???參考hibernate對hql語句的解析,寫了對SQL語句的解析,并生成相應的對象。主要為了自定義查詢條件進行查詢和對查詢結果進行二次查詢使用。目前只支持簡單的sql語句的解析,不支持子查詢的解析。在壓縮包中只給出了解析程序,沒有包括對應的查詢對象。鏈接:程序源碼。
          posted @ 2009-04-01 11:34 費思量 閱讀(422) | 評論 (0)編輯 收藏
           
          項目要求能獲得CONNECTION便于對數據庫的操作,并要求能與spring中的事務處于同一事務中。實現:
          1.定義SanHibernateTransactionManager類,繼承spring中的
          HibernateTransactionManager,便于獲得HibernateTransactionObject。把這個類注入到spring容器中。
          < bean? id ="transactionManager"
          ????????class
          ="com.san.tools.hibernate.SanHibernateTransactionManager" >
          ????????
          < property? name ="sessionFactory" >
          ????????????
          < ref? bean ="sessionFactory" />
          ????????
          </ property >
          ????
          </ bean >

          ?
          public?class?SanHibernateTransactionManager?extends?HibernateTransactionManager{

          ????
          public?Object?getTransactionObj(){
          ????????
          return?super.doGetTransaction();
          ????}

          ????
          ????????
          ????
          public?boolean?existsTransaction(Object?transaction){
          ????????
          return?super.isExistingTransaction(transaction);
          ????}

          ????
          ????
          public?Session?getSession(){
          ????????
          return?SessionFactoryUtils.getSession(this.getSessionFactory(),?true);
          ????}

          ????
          ????
          public?Session?getCurrentSession(){
          ????????HibernateTransactionObject?obj?
          =?(HibernateTransactionObject)this.getTransactionObj();
          ????????
          return?obj.getSessionHolder().getSession();
          ????}

          }

          2.開始事務。
          public ? void ?beginTransaction()? throws ?SQLException {
          ????????
          // TransactionDefinition.PROPAGATION_REQUIRED:支持當前的事務,如果不存在就創建一個新的。

          ????????DefaultTransactionDefinition?transactionDef? = ? new ?DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED);
          ????????
          // 創建一個TransactionStatus

          ????????TransactionStatus?transactionStatus? = ?transactionManager.getTransaction(transactionDef);
          ????????
          //
          取得綁定到當前線程上的session。從HibernateTransactionObject中獲得,這里修改了spring中HibernateTransactionManager.java文件,
          ????????
          // 將private?HibernateTransactionObject改為protected?HibernateTransactionObject

          ????????Session?session? = ?transactionManager.getCurrentSession();
          ??????
          if (session? != ? this .session)
          {
          ????????????System.err.println(
          " session不是同一對象 "
          );
          ????????}

          ????????
          // 將transactionStatus保存到集合中
          ???????? this .transactionStatuss.add(transactionStatus);
          ????????
          this .beginTransaction? = ? true
          ;
          ????}
          3.提交事務
          public ? void ?commit()? throws ?HibernateException,SQLException {
          ????????
          // 循環TransactionStatus集合,直至第一個transactionStatus被提交時,才真正提交

          ???????? for ( int ?i? = ?transactionStatuss.size()? - ? 1 ;i? >= ? 0 ;i -- ) {
          ????????????DefaultTransactionStatus?transactionStatus?
          =
          ?(DefaultTransactionStatus)transactionStatuss.get(i);
          ????????????transactionManager.commit(transactionStatus);
          ????????}

          ????????transactionStatuss.clear();
          ????}
          4.回滾事務
          public?void?rollBack(){
          ????????
          for(int?i?=?transactionStatuss.size()?-?1;i?>=?0;i--){
          ????????????DefaultTransactionStatus?transactionStatus?
          =?(DefaultTransactionStatus)transactionStatuss.get(i);
          ????????????transactionManager.rollback(transactionStatus);
          ????????}

          ????????transactionStatuss.clear();
          ????}
          ???????貼出這段代碼一是為了共享一點所得,二是希望能指出中間有什么不正確的地方(心里不是很有底)
          posted @ 2009-03-30 15:32 費思量 閱讀(540) | 評論 (1)編輯 收藏
           

           

          function doPrint(servlet, form) {
              
          var oWord = new ActiveXObject("Word.Application");
              
          var oDoc = oWord.Documents.Add("",0,1);
              
          var strFields = form.elements["gFields"].value;
              
          var fields = strFields.split(",");
              oWord.Selection.TypeParagraph();    
              oWord.Selection.Style 
          = oDoc.Styles("正文");
              
          var wdPageBreak = 7;
              oWord.Selection.InsertBreak(wdPageBreak);        
          //生成下一頁,用于產生正文部分。當前頁用于生成目錄
              for(var i=0;i<fields.length;i++){
                  form.elements[
          "gFields"].value = fields[i];
                  
          var oRange = oWord.Selection.Range;
                  pastObj(servlet,form,oWord);
                  
              }

              oWord.Selection.TypeBackspace();        
          //去掉最后一頁
              oWord.Selection.HomeKey(6);        //返回首頁的第一行
              oWord.Selection.Font.Bold = 9999998;    //加粗
              oWord.Selection.Font.Size = 16;        //設置字體大?。?號)
              oWord.Selection.TypeText("目錄");
              oWord.Selection.ParagraphFormat.Alignment 
          = 1;        //居中
              oWord.Selection.TypeParagraph();        //換行
              oWord.Selection.Style = oDoc.Styles("正文");        //樣式設為正文
              oWord.Application.WindowState = 2;
              oWord.Application.WindowState 
          = 0;
              
          //生成目錄
              oWord.ActiveDocument.TablesOfContents.add(oWord.Selection.Range,true,1,3,false,"",true,true,"",true,true,true);
              oWord.ActiveDocument.TablesOfContents(
          1).TabLeader = 1
              oWord.ActiveDocument.TablesOfContents.Format 
          = 0;
              oWord.Selection.Sections(
          1).Footers(1).PageNumbers.Add(2,true);        //在頁腳出生成頁碼
              oWord.Application.Visible = true;
              
          //退出word
              //oWord.Quit();
              oWord = null;
          }

          function pastObj(servlet, form,oWord){
              
          var ajax = new AJAXInteraction(servlet, function(requestText) {
                      
          if (requestText == "FAILED"{
                          
          return;
                      }

                      
          else {
                          
          var oDoc = oWord.ActiveDocument;
                          
          var sele = oWord.Selection;
                          sele.Style 
          = oDoc.Styles("標題 1");        //設置樣式為標題1
                          var tempObj = document.getElementById("content");
                          tempObj.innerHTML 
          = requestText;
                          
          var title = document.getElementById("title_"+form.elements["gFields"].value).value;
                          oWord.Selection.TypeText(title);    
          //取得單位名稱,并設為標題
                          sele.TypeParagraph();        //換行
                          sele.Style = oDoc.Styles("正文");    //設置樣式為正文
                          var arrs = requestText.split("^^^");
                          
          for(var i=0;i<arrs.length;i++){
                              
          var obj = document.getElementById("content");
                              obj.innerHTML 
          = arrs[i];
                              
          var sel = document.body.createTextRange();
                              sel.moveToElementText(obj);
                              sel.select();
                              sel.execCommand(
          "Copy");
                              sele.paste();
                              
          var wdPageBreak = 7;
                              sele.InsertBreak(wdPageBreak);        
          //生成下一頁
                          }

                      
          //sele.TypeParagraph();
                      //sele.TypeText("測試1");
                      //sele.Style = oDoc.Styles("正文");
                      }

                  }
          );
              ajax.doPost(getRequestBody(form));
          }

           

          posted @ 2007-07-16 09:30 費思量 閱讀(2669) | 評論 (4)編輯 收藏
           
               摘要:   閱讀全文
          posted @ 2007-03-15 16:46 費思量 閱讀(6148) | 評論 (1)編輯 收藏
           

          SpeedProductLoad.java

          public ? class ?SpeedProductLoad? {
          ????
          private ?SpeedProduct?product;
          ????
          private ?SpeedVehicleType?vehicleType;
          ????
          private ?Double?loaded;
          ????
          private ?Long?lineNo;
          ????
          ????
          public ?SpeedProductLoad(SpeedProduct?product,SpeedVehicleType?vehicleType,Double?loaded,Long?lineNo) {
          ????????
          this .product? = ?product;
          ????????
          this .vehicleType? = ?vehicleType;
          ????????
          this .loaded? = ?loaded;
          ????????
          this .lineNo? = ?lineNo;
          ????}

          }
          hbm中的映射:
          <map?name="vehicleTypes"?table="PRODUCT_VEHICLETYPE"?lazy="true"?inverse="false"?cascade="all">
          ????????????
          <key?column="PRODUCT_ID"/>
          ????????????
          <index-many-to-many?class="com.vtradex.speedtms.model.base.vehicle.SpeedVehicleType"?column="VEHICLE_TYPE_ID"/>
          ????????????
          <element?type="double"?column="FULLYLOADED"/>
          </map>
          ?HQL語句:
          SELECT?new?com.vtradex.speedtms.model.base.product.SpeedProductLoad(product,index(vehicleTypes),vehicleTypes,product.id)
          ????????????????FROM?SpeedProduct?AS?product
          ????????????????LEFT?JOIN?FETCH?product.vehicleTypes?AS?vehicleTypes
          ????????????????WHERE?1=1??AND?product.disabled=false
          ????????????????/~code:?AND?product.code?LIKE?{code}?~/
          ????????????????/~name:?AND?product.name?LIKE?{name}?~/
          ????????????????/~company.id:?AND?product.company.id={company.id}?~/
          ????????????????/~product.uom:?AND?product.uom={product.uom}?~/
          ????????????????/~productType.id:?AND?product.productType.id={productType.id}?~/
          posted @ 2006-05-09 17:14 費思量 閱讀(734) | 評論 (0)編輯 收藏
           
          Copyright © 費思量 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 山阳县| 皮山县| 南开区| 疏附县| 洞口县| 翁源县| 彩票| 绥中县| 大兴区| 剑川县| 邵东县| 潜山县| 泉州市| 馆陶县| 离岛区| 永修县| 游戏| 吴忠市| 西充县| 龙口市| 福泉市| 泗阳县| 龙州县| 西和县| 岳西县| 石阡县| 乌苏市| 瑞金市| 洪雅县| 玛沁县| 忻城县| 弥渡县| 东宁县| 江都市| 岳阳县| 杭州市| 长宁区| 沁水县| 东乡族自治县| 闽侯县| 闻喜县|