Hibernate 事务方法保存clob类型数据

Hibernate 保存clob类型数据 以及关系到事务所出现的问题(写此文以防备忘)

 

说明:

方法A():普通的方法未实现事务;

方法B();普通方法;

方法doA();对A方法增加事务支持

方法doB():对方法B()增加事务支持

方法ntB();对方法B()声明一个新的事物

 

使用方式一:

A()

{

   doB();

}

 

doB(){

    //方法中保存一个Clob字段到数据库

}

 

按照上述调用会出现错误:Active Spring transaction synchronization or active JTA transaction with specified [javax.transaction.TransactionManager] required

 

使用方式二:

doA(){

    ntB(){

        //方法中保存一个Clob字段到数据库

     }

 

}

使用方式2可以正确执行.

 

结论: 通过方式二,若doA()异常回滚,ntB()不会受到影响.

 

另外:把大字段保存于clob类型,在数据库表反转后需要在xxx.hbm.xml中设置对应字段的type="org.springframework.orm.hibernate3.support.ClobStringType"

 

posted on 2010-09-01 13:55  Fat T  阅读(1401)  评论(1编辑  收藏  举报

导航