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

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

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

    Habitat Framework

    專注于Java EE企業級開發
    posts - 13, comments - 81, trackbacks - 0, articles - 5
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Spring或Hibernate其實都提供了透明處理Clob的方法
    只是個人覺得用Spring的做法比hibernate更透明一點(hibernate2.16);
    具體做法為:
    1.在sessionFactory中加入lobHandler的注射:

    <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
    ??????? <property name="dataSource" ref="dataSource"/>
    ????????<property name="lobHandler" ref="lobHandler"/>
    ??????? <property name="mappingResources">
    ??????????????????<value>xxx.hbm.xml</value>
    ??????????????????.....
    ?????????</property>
    </bean>

    2.定義這個lobHandler,值得注意的是這里有Oracle的版本區別:

    <bean id="lobHandler" lazy-init="true"?? class="org.springframework.jdbc.support.lob.OracleLobHandler">
    ??????? <property name="nativeJdbcExtractor">
    ??????????? <ref bean="nativeJdbcExtractor"/>
    ??????? </property>
    </bean>

    <bean id="nativeJdbcExtractor" lazy-init="true"?? class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor"/>

    因為Oracle9i處理Clob的方式和別的數據庫很不一樣,甚至與Oracle10g都不兼容,所以這里要用spring提供的SimpleNativeJdbcExtractor.如果使用Oracle10g的話,可以直接使用:

    <bean id="lobHandler" lazy-init="true"? class="org.springframework.jdbc.support.lob.DefaultLobHandler"/>

    對應的應該使用Oracle10g對應的JDBC驅動.

    4.在領域對象的hbm中對應的Clob字段應該使用這樣的定義:

    <property name="context" column="context" type="org.springframework.orm.hibernate.support.ClobStringType" length="1048576000"/>

    這里的length是字節了,不是長度哦,最大可以設到2G.對應的,該字段在領域對象中直接申明成String就可以了.當對這個字段寫入長數據時直接調用其set方法就可以了,Spring會自己幫你做余下的處理,讓你透明的處理Clob字段.

    5.業務邏輯層對該字段的操作必須需要在有事務管理的方法中使用,否則會報:
    java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction with 'jtaTransactionManager' on LocalSessionFactoryBean required 這個錯誤


    評論

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2007-07-24 16:03 by mao_lu
    如何修改clob字段呀
    我的插入沒問題
    修改報java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction with 'jtaTransactionManager' on LocalSessionFactoryBean required 這個錯誤

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2007-07-24 17:46 by Kerwin Weng
    理論上出現這種問題主要是因為hibernate的Session已經關閉,造成你的修改操作是在沒有事務的環境下提交的,所以就會報這種錯,如果你的插入和修改代碼幾乎完全一樣,可能就要詳細檢查你的配置和所選用的驅動了,如果方便留下你的MSN,我加你

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2007-08-14 08:48 by mao_lu
    很感謝你的回復,我的問題還是沒有解決,我的QQ:358131961
    向你請教

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2007-08-15 19:45 by 李瑞宏
    你好,我也報上面的錯誤,能加我嗎? qq:278241728
    msn:lrh165@hotmail.com

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2007-09-17 15:34 by yys
    me too!

    msn:chris-in@hotmail.com
    QQ:282842044

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2007-09-29 18:26 by 能加我嗎?我也是這個問題
    能加我嗎?我也是這個問題~
    QQ:39800425

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2007-10-19 16:37 by
    我也碰到這個問題,搞了半天解決不了,盼幫忙
    QQ:52332092

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2007-12-11 21:28 by 圣殿
    你好,我也遇到這個問題,在上傳的時候遇到
    Active Spring transaction synchronization or active JTA transaction with 'jtaTransactionManager' on LocalSessionFactoryBean required
    這樣的錯誤,你上面的所說的解決辦法是:.業務邏輯層對該字段的操作必須需要在有事務管理的方法中使用,我不理解,請多關照哈小弟哦,小弟是初學
    我的QQ是:345910534

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2008-01-08 11:17 by Strive
    兄弟我的問題是: 連接 數據庫都不能連上報 NLS 參數無效. 真是頭疼. 有解不? QQ:132175958 email:infosys@163.com

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2008-01-08 15:12 by Kerwin
    抱歉,我也沒有遇到過

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2008-01-23 10:58 by yangyi336
    我是有Spring+hibernate+Oracle環境下的Blob字段處理方式
    但老是報錯
    能否指點它們在哪里不同嗎
    能否把您的項目發給我一份嗎
    謝謝
    yangyi336@163.com

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2008-01-23 11:03 by Kerwin.Weng
    具體錯誤具體分析,我以前的代碼是別人的產品不可以發

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2008-03-21 10:48 by sunxinghua
    我的插入操作沒問題,修改操作報了您文中提到的那個EXCEPTION~
    我的插入和修改的方法都配置了事務,而且代碼基本一樣,主要是插入操作最后調用的是this.getHibernateTemplete.save(),修改方法改的是....update()方法~`
    請指教:
    MSN:xinghuasun666@163.com

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2008-03-21 11:31 by Kerwin.Weng
    getHibernateTemplete.save()的session可能和當前session不同的,尤其在OpenSessionInView的情況下

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2008-12-24 23:14 by yin_bp
    http://blog.csdn.net/yin_bp/archive/2008/12/24/3599469.aspx

    bboss persistent 1.0.2中方便地實現大字段(clob,blob)的處理

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創]  回復  更多評論   

    2010-09-03 22:38 by emlynswannd@yahoo.com
    HEY CRAZY ROBOT !!

    remeber me ? im Emyln :D

    # re: Spring+hibernate+Oracle環境下的Clob字段處理方式[完全原創][未登錄]  回復  更多評論   

    2010-10-09 16:46 by ln
    太感謝啦,找了好多方法都沒有解決問題,終于從你這找到答案啦
    主站蜘蛛池模板: 天堂亚洲免费视频| 狠狠综合久久综合88亚洲| 在线a亚洲v天堂网2018| 亚洲国产精品特色大片观看完整版| 久久狠狠高潮亚洲精品| 亚洲AV日韩综合一区| 国产激情免费视频在线观看| 在线A级毛片无码免费真人| 亚洲日韩精品一区二区三区无码| 亚洲日本乱码一区二区在线二产线 | 91嫩草私人成人亚洲影院| 亚洲另类自拍丝袜第五页| 两个人看的www高清免费视频| 我要看免费的毛片| 久久久久亚洲AV无码专区首| 亚洲av综合av一区二区三区| 国产成人精品无码免费看| mm1313亚洲精品无码又大又粗| 亚洲熟妇av一区| 在线观看人成视频免费无遮挡 | 成年网站免费入口在线观看| 4虎永免费最新永久免费地址| 狠狠综合久久综合88亚洲| 久久综合亚洲色hezyo| 亚洲免费视频网址| 亚洲国产精品VA在线观看麻豆| 怡红院亚洲红怡院在线观看| 久久国产免费福利永久| 国产偷国产偷亚洲清高动态图| 亚洲av无码兔费综合| av无码国产在线看免费网站| 久久精品国产精品亚洲艾| 9i9精品国产免费久久| 亚洲AV无码一区二区三区在线观看| 亚洲一区中文字幕在线观看| 三上悠亚电影全集免费 | 国产成人高清亚洲一区久久| 亚洲国产精品久久久久秋霞影院| 免费国产在线精品一区| 在线免费观看国产视频| 亚洲人成人网站18禁|