<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    xih  
    日歷

    導(dǎo)航

    常用鏈接

    留言簿(2)

    隨筆檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

     

    2009年3月30日

    在查詢(xún)時(shí)報(bào)下面的錯(cuò)誤,使用的是hibernate,oracle數(shù)據(jù)庫(kù),并做了集群
    WARN - SQL Error: 17002, SQLState: null
    ERROR - Io 異常:Software caused connection abort: recv failed
    請(qǐng)問(wèn)是什么原因造成的,謝謝!

    posted @ 2010-09-02 10:37 費(fèi)思量 閱讀(511) | 評(píng)論 (0)編輯 收藏
     
    ???參考hibernate對(duì)hql語(yǔ)句的解析,寫(xiě)了對(duì)SQL語(yǔ)句的解析,并生成相應(yīng)的對(duì)象。主要為了自定義查詢(xún)條件進(jìn)行查詢(xún)和對(duì)查詢(xún)結(jié)果進(jìn)行二次查詢(xún)使用。目前只支持簡(jiǎn)單的sql語(yǔ)句的解析,不支持子查詢(xún)的解析。在壓縮包中只給出了解析程序,沒(méi)有包括對(duì)應(yīng)的查詢(xún)對(duì)象。鏈接:程序源碼
    posted @ 2009-04-01 11:34 費(fèi)思量 閱讀(420) | 評(píng)論 (0)編輯 收藏
     
    項(xiàng)目要求能獲得CONNECTION便于對(duì)數(shù)據(jù)庫(kù)的操作,并要求能與spring中的事務(wù)處于同一事務(wù)中。實(shí)現(xiàn):
    1.定義SanHibernateTransactionManager類(lèi),繼承spring中的
    HibernateTransactionManager,便于獲得HibernateTransactionObject。把這個(gè)類(lèi)注入到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.開(kāi)始事務(wù)。
    public ? void ?beginTransaction()? throws ?SQLException {
    ????????
    // TransactionDefinition.PROPAGATION_REQUIRED:支持當(dāng)前的事務(wù),如果不存在就創(chuàng)建一個(gè)新的。

    ????????DefaultTransactionDefinition?transactionDef? = ? new ?DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED);
    ????????
    // 創(chuàng)建一個(gè)TransactionStatus

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

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

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

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

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

    ????????transactionStatuss.clear();
    ????}
    ???????貼出這段代碼一是為了共享一點(diǎn)所得,二是希望能指出中間有什么不正確的地方(心里不是很有底)
    posted @ 2009-03-30 15:32 費(fèi)思量 閱讀(536) | 評(píng)論 (1)編輯 收藏
     
    Copyright © 費(fèi)思量 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 色婷婷亚洲十月十月色天| 国产日韩AV免费无码一区二区三区 | 中文有码亚洲制服av片| 亚洲成A人片777777| 又粗又大又硬又爽的免费视频 | 亚洲专区在线视频| 少妇亚洲免费精品| 思思99re66在线精品免费观看| 日本人成在线视频免费播放| h视频免费高清在线观看| 在线观看亚洲视频| 亚洲毛片基地4455ww| 亚洲精品无码久久久久久久| 亚洲成AV人片一区二区密柚| 久久亚洲高清综合| 久久精品国产精品亚洲| 亚洲国产综合精品中文字幕| 国产成人综合久久精品免费| 在线免费观看一区二区三区| 成人超污免费网站在线看| 91麻豆最新在线人成免费观看| 日韩中文字幕免费视频| 久久精品中文字幕免费| 久久青草免费91线频观看不卡| 久久精品中文字幕免费| 日韩免费无码视频一区二区三区| 中文字幕无码日韩专区免费 | 精品国产亚洲一区二区三区| 久久久久无码专区亚洲av| 亚洲色偷拍区另类无码专区| 亚洲熟伦熟女新五十路熟妇| 亚洲精品高清一二区久久| 亚洲日韩中文在线精品第一| 国产成人综合亚洲AV第一页 | 亚洲手机中文字幕| 456亚洲人成影院在线观| 亚洲精品久久无码| 亚洲AV无码专区在线厂| 国产精品亚洲а∨天堂2021| 一级毛片一级毛片免费毛片| 在线观看免费播放av片|