hibernate 保存 oracle 10g大数据字段

用spring+hiberante保存blob的时候,报Active Spring transaction synchronization or active JTA transaction with 'jtaTransactionManager' on LocalSessionFactoryBean required 这样的错,在网上查了一大堆资料后依然没有解决问题,后来看到一信息是这样写的:

 

 要点如下:

  1、首先数据表中的clob类型对应java持久化类的String类型;而blob类型对应byte[]类型。

  2、定义hibernate标签时,持久化类中对应clob类型的属性的hibernate type应为text;而对应blob类型的属性的hibernate type应为binary。 

  3、以后访问这些对应clob和blob类型的属性时,按普通属性处理,不需要特别编码。

 

 

 

具体方法如下:

在hbm.xml文件里,将对应的blob的映射字段改为

  <property name="content" type="binary">
            <column name="CONTENT" />
  </property>

 

如果是clob的话就改成

  <property name="content" type="text">
            <column name="CONTENT" />
  </property>

 

 

然后将pojo改为这样

private byte[] content;    //blob	
//private String content; //clob
set/get....

 

最后是applicationContext.xml

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

 将lobHandler纳入mySessionFactory

<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
....
<property name="lobHandler" ref="lobHandler"></property>
...

></bean

 

 这个与平时对mysql,9i等进行保存clob/blob字段时有所不同,希望对你有帮助

双轮差动机器人SLAM实战:轮速里程计从建模到精度验证(附Matlab代码) 本文详细介绍了双轮差动机器人SLAM系统中轮速里程计的实现全流程,包括核心原理、建模方法、Matlab代码实现及精度验证。通过轮速仪数据建模和连续积分算法,提升定位精度,并附有完整的误差分析和工程优化技巧,为开发者提供实用参考。 阅读详情

相关推荐

Active Spring transaction synchronization or active JTA transaction with specifi

1,写了一个保存日志方法,在无事务方法体里执行。 2,使用hibernate的save方法保存时报错  java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction with specified 3,后来查询发现这个对象含有大字段(CLOB),在操作大...

WisonKot 2191

2026 年 3 月青少年软编等考 C/C++ 三级测试题解析

摘要 本文包含三部分内容: 单选题(10题):考察C++基础语法和数据结构知识,涉及vector、栈、队列的操作和特性。 判断题(10题):测试对动态数组、栈、队列、字符串操作的理解,包括内存管理、访问方式和函数返回值等。 编程题(1题):模拟火车站售票窗口排队场景,要求根据输入输出各窗口的排队情况,重点考查队列的实际应用和边界条件处理。 答案解析详细,涵盖常见编程考点,适合检验基础知识的掌握程度。

学习过程的记录与分享。 207

java.lang.IllegalStateException: Active Spring transaction synchronization or ac

在上一篇文章中,提到spring+hibernate处理oracle的blob字段,又要没有进行事务管理,导致报错如下: java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction with specified [javax.transaction.Tra...

iteye_19936的博客 1164

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

Hibernate 保存clob类型数据 以及关系到事务所出现的问题(写此文以防备忘)说明:方法A():普通的方法未实现事务;方法B();普通方法;方法doA();对A方法增加事务支持方法doB():对方法B()增加事务支持方法ntB();对方法B()声明一个新的事物使用方式一:A(){   doB();}doB(){    //方法中保存一个Clob字段到数据库}按照上述调用会出现错误:Active Spring transaction synchronization or active JTA tran

JSH'S 1022

java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction...

错误信息: 1 java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction with specified [javax.transaction.TransactionManager] required 2 at org.springf...

weixin_33736832的博客 523

在修改Clob字段时,报错!

java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction with specified [javax.transaction.TransactionManager] required at org.springframework.jdbc.support

Gauge的专栏 2315

hibernateoracle10g连接配置问题

原文地址:http://blueram.javaeye.com/blog/309579 hibernateoracle10g的连接配置 oracle.jdbc.OracleDriver jdbc:oracle:thin:@localhost:1521:oa scott tiger org.hibernate.dialect.OracleDialect

4547

hibernate处理长字符串存储oracle 10g的clob类型

最近项目中(SSH2+ORACLE 10g)出现对长字符串处理的问题终于搞定了,在此记录一下   表中有一个字段 content clob create table table_name (      ...      content clob not null,      ... )   (1)在使用ojdbc14.jar的情况下(批量处理有影响) 使用注解  @Lob ...

zhengluu的专栏 376

Oracle10g中char字段Hibernate中映射设定

环境Hibernate3.3.2GA+Spring2.5.6+Struts2.1.6,数据库Oracle10g,服务器tomcat中TBL_FUNC表的正确映射应该如下: [code="java"] [/code] 其他TS字段对应Oracle10g数据库中的类...

Beadle的专栏 385

11g oracle 客户端驱动_oracle 11g 数据库驱动包

oracle10g获得Date类型字段无分,秒的解决方案!一般的数据库中,DATE字段只表示日期,不包含日期信息,而Oracle数据库中的DATE数据类型是包含日期、时间的,对于不同的Oracle jdbc驱动版本号。对于该问题的处理都有些差别。近期使用 ORACLE 10G,时间字段因需求,设为了DATE类型,发现hibernate用native S...文章eddie小英俊2017-11-15...

weixin_39685024的博客 1323

hibernate+oracle+clob的读写

hibernate封装oracle的clob类型操作起来很不方便,但是新的oracle10g的jdbc驱动,对此有很多改进。下载了最新的Oracle 10g的jdbc驱动。 Hibernate+Oracle+CLOB的读写如下设置: 1.在Oracle里设置某字段为clob类型。 2.在Hibernate的配置文件里使用网上下载的Oracle 10g最新的jdbc驱动。 3.实体类里把clob字

跌跌撞撞,从头开始! 3364

HibernateOracle10g存储boolean、byte[]、Timestamp类型

因为Oracle10g中并不提供字段类型为boolean的属性,所以我们需要通过使用char或number来代替!接下来看一个例子。 Person类 import java.sql.Timestamp;public class Person{private int PId;private String PGender;private Timestam...

weixin_34138521的博客 300

Hibernate+SpringOracle10g的Clob类型字段的操作

1、首先保证Oracle10g的JDBC驱动是10g以上的版本,即ojdbc14.jar文件。 applicationContext.xml文件配置:          ${hibernate.dialect}               true            100     50     true         true                2、

坤哥的专栏 1492

oracle jdbc date类型,Oracle10g JDBC ojdbc14 DATE类型hibernate查询时分秒有关问题

Oracle10g JDBC ojdbc14 DATE类型hibernate查询时分秒问题一般的数据库中,DATE字段仅仅表示日期,不包括日期信息,而Oracle数据库中的DATE数据类型是包括日期、时间的,对于不同的Oracle jdbc驱动版本,对于该问题的处理都有些区别。最近项目中碰到此问题,用的是ORACLE 10G,时间字段因需求,设为了DATE类型,发现hibernate用native...

weixin_42144707的博客 343

Oracle10g 驱动包异常

Disabling contextual LOB creation as createClob() method threw           error:java.lang.reflect.InvocationTargetException 在使用Oracle10G时候,实体类使用了CLOB字段,结果抛了Disabling contextual LOB creati

xht2006的博客 545

oracle10g获取Date类型字段无时分秒解决办法!

oracle11G则可以获取数据库Date类型的时分秒而oracle10G无法获取的原因

欢迎来到我的博客 1万+

oracle clog读取 php,Spring+Hibernate中处理Oracle的BLOG和CLOG字段

对于BLOG和CLOB字段,大部分数据库提供了较为透明的支持,但Oracle比较特殊一些,在用SpringHibernate操作时,需要作一些特殊的处理,以CLOB为例,基本有下面几个步骤:1、在Spring的配置文件中加入以下几个Bean的定义2、在sessionFactory这个Bean中加入一个属性的引用3、在需要clob的JavaBean对应的hbm.xml中,改对应的clob类型的字段...

weixin_29421255的博客 280

Hibernate操作Oarcle中Clob、Blob字段小结

最近常碰到有人问如何运用Hibernate操作Oracle中的Clob、Blob字段,相关问题大概如下几种: 如何读、写数据库中的Clob、Blob字段? 注释方式或者映射文件两种方式是如何实现的? Clob字段是否可当成一般String来操作? 为什么Clob字段插入正常,但是读取时却为null JDBC的驱动是不是需要最新的,才能支持Clob当成String? JDBC驱动不更新,...

奋斗的小马 189

Hibernate-Oralce10g里lob操作

大家都知道以前版本的OracleHibernate里操作lob是相当痛苦的一件事情,但是在它新版的Oracle10g中的JDBC驱动已经修正了这个问题。操作要点如下:   1、首先数据表中的clob类型对应java持久化类的String类型;而blob类型对应byte[]类型。   2、定义hibernate标签时,持久化类中对应clob类型的属性的hibernate type应为text;而对

燕窝 670
上一篇: 利用session实现在线人员监控
下一篇: Linux系统下各目录的作用
chunran
博客等级 码龄20年 2粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值