Hi all,
I've got an entity which defines a column as CLOB (Oracle 9i, EJB 3), e.g.
@Lob
@Column(name="FullText")
private String fullText;
Now when I try to set this from my application using the setter method, I get an error if the String is greater than 1000 characters. I don't understand why this should be as it's fine for anything below this.
Here's the error message that I get. Any help here would be appreciated as I've tried Google and other web resources and haven't found a solution.
2008-06-05 16:07:29,704 INFO [STDOUT] 16:07:29,704 ERROR [JDBCExceptionReporter] operation not allowed: streams type cannot be used in batching
2008-06-05 16:07:29,704 ERROR [org.hibernate.event.def.A
bstractFlu
shingEvent
Listener] Could not synchronize database state with session
org.hibernate.exception.Ge
nericJDBCE
xception: could not insert: [uk.ac.salford.seek.ejb.ne
ws.NewsIte
m]
at org.hibernate.exception.SQ
LStateConv
erter.hand
ledNonSpec
ificExcept
ion(SQLSta
teConverte
r.java:103
)
at org.hibernate.exception.SQ
LStateConv
erter.conv
ert(SQLSta
teConverte
r.java:91)
at org.hibernate.exception.JD
BCExceptio
nHelper.co
nvert(JDBC
ExceptionH
elper.java
:43)
at org.hibernate.persister.en
tity.Abstr
actEntityP
ersister.i
nsert(Abst
ractEntity
Persister.
java:2202)
at org.hibernate.persister.en
tity.Abstr
actEntityP
ersister.i
nsert(Abst
ractEntity
Persister.
java:2595)
at org.hibernate.action.Entit
yInsertAct
ion.execut
e(EntityIn
sertAction
.java:51)
at org.hibernate.engine.Actio
nQueue.exe
cute(Actio
nQueue.jav
a:248)
at org.hibernate.engine.Actio
nQueue.exe
cuteAction
s(ActionQu
eue.java:2
32)
at org.hibernate.engine.Actio
nQueue.exe
cuteAction
s(ActionQu
eue.java:1
39)
at org.hibernate.event.def.Ab
stractFlus
hingEventL
istener.pe
rformExecu
tions(Abst
ractFlushi
ngEventLis
tener.java
:298)
at org.hibernate.event.def.De
faultFlush
EventListe
ner.onFlus
h(DefaultF
lushEventL
istener.ja
va:27)
at org.hibernate.impl.Session
Impl.flush
(SessionIm
pl.java:10
00)
at org.hibernate.impl.Session
Impl.manag
edFlush(Se
ssionImpl.
java:338)
at org.hibernate.ejb.Abstract
EntityMana
gerImpl$1.
beforeComp
letion(Abs
tractEntit
yManagerIm
pl.java:51
5)
at org.jboss.tm.TransactionIm
pl.doBefor
eCompletio
n(Transact
ionImpl.ja
va:1491)
at org.jboss.tm.TransactionIm
pl.beforeP
repare(Tra
nsactionIm
pl.java:11
10)
at org.jboss.tm.TransactionIm
pl.commit(
Transactio
nImpl.java
:324)
at org.jboss.tm.TxManager.com
mit(TxMana
ger.java:2
40)
at org.jboss.aspects.tx.TxPol
icy.endTra
nsaction(T
xPolicy.ja
va:175)
at org.jboss.aspects.tx.TxPol
icy.invoke
InOurTx(Tx
Policy.jav
a:87)
at org.jboss.aspects.tx.TxInt
erceptor$R
equired.in
voke(TxInt
erceptor.j
ava:191)
at org.jboss.aop.joinpoint.Me
thodInvoca
tion.invok
eNext(Meth
odInvocati
on.java:10
1)
at org.jboss.aspects.tx.TxPro
pagationIn
terceptor.
invoke(TxP
ropagation
Intercepto
r.java:76)
at org.jboss.aop.joinpoint.Me
thodInvoca
tion.invok
eNext(Meth
odInvocati
on.java:10
1)
at org.jboss.ejb3.stateless.S
tatelessIn
stanceInte
rceptor.in
voke(State
lessInstan
ceIntercep
tor.java:6
2)
at org.jboss.aop.joinpoint.Me
thodInvoca
tion.invok
eNext(Meth
odInvocati
on.java:10
1)
at org.jboss.aspects.security
.Authentic
ationInter
ceptor.inv
oke(Authen
ticationIn
terceptor.
java:77)
at org.jboss.ejb3.security.Ej
b3Authenti
cationInte
rceptor.in
voke(Ejb3A
uthenticat
ionInterce
ptor.java:
102)
at org.jboss.aop.joinpoint.Me
thodInvoca
tion.invok
eNext(Meth
odInvocati
on.java:10
1)
at org.jboss.ejb3.ENCPropagat
ionInterce
ptor.invok
e(ENCPropa
gationInte
rceptor.ja
va:47)
at org.jboss.aop.joinpoint.Me
thodInvoca
tion.invok
eNext(Meth
odInvocati
on.java:10
1)
at org.jboss.ejb3.asynchronou
s.Asynchro
nousInterc
eptor.invo
ke(Asynchr
onousInter
ceptor.jav
a:106)
at org.jboss.aop.joinpoint.Me
thodInvoca
tion.invok
eNext(Meth
odInvocati
on.java:10
1)
at org.jboss.ejb3.stateless.S
tatelessCo
ntainer.lo
calInvoke(
StatelessC
ontainer.j
ava:211)
at org.jboss.ejb3.stateless.S
tatelessLo
calProxy.i
nvoke(Stat
elessLocal
Proxy.java
:79)
at $Proxy140.save(Unknown Source)
at uk.ac.salford.seek.struts.
action.adm
in.news.Ad
dNewsItemA
ction.exec
ute(AddNew
sItemActio
n.java:130
)
at org.apache.struts.action.R
equestProc
essor.proc
essActionP
erform(Req
uestProces
sor.java:4
31)
at org.apache.struts.action.R
equestProc
essor.proc
ess(Reques
tProcessor
.java:236)
at org.apache.struts.action.A
ctionServl
et.process
(ActionSer
vlet.java:
1196)
at org.apache.struts.action.A
ctionServl
et.doPost(
ActionServ
let.java:4
32)
at javax.servlet.http.HttpSer
vlet.servi
ce(HttpSer
vlet.java:
717)
at javax.servlet.http.HttpSer
vlet.servi
ce(HttpSer
vlet.java:
810)
at org.apache.catalina.core.A
pplication
FilterChai
n.internal
DoFilter(A
pplication
FilterChai
n.java:252
)
at org.apache.catalina.core.A
pplication
FilterChai
n.doFilter
(Applicati
onFilterCh
ain.java:1
73)
at org.jboss.web.tomcat.filte
rs.ReplyHe
aderFilter
.doFilter(
ReplyHeade
rFilter.ja
va:96)
at org.apache.catalina.core.A
pplication
FilterChai
n.internal
DoFilter(A
pplication
FilterChai
n.java:202
)
at org.apache.catalina.core.A
pplication
FilterChai
n.doFilter
(Applicati
onFilterCh
ain.java:1
73)
at org.apache.catalina.core.S
tandardWra
pperValve.
invoke(Sta
ndardWrapp
erValve.ja
va:213)
at org.apache.catalina.core.S
tandardCon
textValve.
invoke(Sta
ndardConte
xtValve.ja
va:178)
at org.jboss.web.tomcat.secur
ity.Securi
tyAssociat
ionValve.i
nvoke(Secu
rityAssoci
ationValve
.java:175)
at org.jboss.web.tomcat.secur
ity.JaccCo
ntextValve
.invoke(Ja
ccContextV
alve.java:
74)
at org.apache.catalina.core.S
tandardHos
tValve.inv
oke(Standa
rdHostValv
e.java:126
)
at org.apache.catalina.valves
.ErrorRepo
rtValve.in
voke(Error
ReportValv
e.java:105
)
at org.jboss.web.tomcat.tc5.j
ca.CachedC
onnectionV
alve.invok
e(CachedCo
nnectionVa
lve.java:1
56)
at org.apache.catalina.core.S
tandardEng
ineValve.i
nvoke(Stan
dardEngine
Valve.java
:107)
at org.apache.catalina.connec
tor.Coyote
Adapter.se
rvice(Coyo
teAdapter.
java:148)
at org.apache.coyote.http11.H
ttp11Proce
ssor.proce
ss(Http11P
rocessor.j
ava:869)
at org.apache.coyote.http11.H
ttp11BaseP
rotocol$Ht
tp11Connec
tionHandle
r.processC
onnection(
Http11Base
Protocol.j
ava:664)
at org.apache.tomcat.util.net
.PoolTcpEn
dpoint.pro
cessSocket
(PoolTcpEn
dpoint.jav
a:527)
at org.apache.tomcat.util.net
.MasterSla
veWorkerTh
read.run(M
asterSlave
WorkerThre
ad.java:11
2)
at java.lang.Thread.run(Threa
d.java:619
)
Caused by: java.sql.SQLException: operation not allowed: streams type cannot be used in batching
at oracle.jdbc.dbaccess.DBErr
or.throwSq
lException
(DBError.j
ava:134)
at oracle.jdbc.dbaccess.DBErr
or.throwSq
lException
(DBError.j
ava:179)
at oracle.jdbc.driver.OracleP
reparedSta
tement.add
Batch(Orac
lePrepared
Statement.
java:3999)
at org.jboss.resource.adapter
.jdbc.Wrap
pedPrepare
dStatement
.addBatch(
WrappedPre
paredState
ment.java:
264)
at org.hibernate.jdbc.Batchin
gBatcher.a
ddToBatch(
BatchingBa
tcher.java
:31)
at org.hibernate.persister.en
tity.Abstr
actEntityP
ersister.i
nsert(Abst
ractEntity
Persister.
java:2182)
... 58 more
Start Free Trial