Caused by: org.springframework.orm.hibernate3.HibernateJdbcException: JDBC exception on Hibernate data access: SQLException for SQL [/* update com.ygsoft.gris.mdm.data.xtyhxx.Xtyhxx */ update XXX set COMPID=?, YHMC=?, YHMM=?, XSMC=?, JAVAMM=?, CZLX=?, YHBZ=?, STOPED=?, JCQX=?, AUTHENINFO=?, FLID=?, GNBZ=?, DH=?, ICK=?, ICKSJ=?, KSRQ=?, ZZRQ=?, XTDXID=?, MOVETEL=?, IPADDR=?, NETCARD=?, CPUCODE=?, USERTYPE=?, USERIDENT=?, SJBZ=?, ISNEEDCHGPWD=?, PWDUSEFULLIFE=?, CHGPWDLASTTIME=?, HISTORYPWDINFO=?, YHBM=?, DXDW=?, EMAIL=?, ISSHARE=?, SECURGRD=?, ENABLEDEFAULTPRINT=?, ENABLEUPDOWN=?, dwdm=?, usersslb=?, authtype=? where YHDM=?];
SQL state [72000]; error code [1013]; Could not execute JDBC batch update; nested exception is org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:651)
at org.springframework.orm.hibernate3.SpringSessionSynchronization.translateException(SpringSessionSynchronization.java:160)
at org.springframework.orm.hibernate3.SpringSessionSynchronization.beforeCommit(SpringSessionSynchronization.java:148)
at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:95)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:924)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:737)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
at sun.reflect.GeneratedMethodAccessor311.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:92)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:113)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.
P
r
o
x
y
719.
c
o
m
m
i
t
(
U
n
k
n
o
w
n
S
o
u
r
c
e
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
t
r
a
n
s
a
c
t
i
o
n
.
i
n
t
e
r
c
e
p
t
o
r
.
T
r
a
n
s
a
c
t
i
o
n
A
s
p
e
c
t
S
u
p
p
o
r
t
.
c
o
m
m
i
t
T
r
a
n
s
a
c
t
i
o
n
A
f
t
e
r
R
e
t
u
r
n
i
n
g
(
T
r
a
n
s
a
c
t
i
o
n
A
s
p
e
c
t
S
u
p
p
o
r
t
.
j
a
v
a
:
425
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
t
r
a
n
s
a
c
t
i
o
n
.
i
n
t
e
r
c
e
p
t
o
r
.
T
r
a
n
s
a
c
t
i
o
n
I
n
t
e
r
c
e
p
t
o
r
.
i
n
v
o
k
e
(
T
r
a
n
s
a
c
t
i
o
n
I
n
t
e
r
c
e
p
t
o
r
.
j
a
v
a
:
120
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
a
o
p
.
f
r
a
m
e
w
o
r
k
.
R
e
f
l
e
c
t
i
v
e
M
e
t
h
o
d
I
n
v
o
c
a
t
i
o
n
.
p
r
o
c
e
e
d
(
R
e
f
l
e
c
t
i
v
e
M
e
t
h
o
d
I
n
v
o
c
a
t
i
o
n
.
j
a
v
a
:
172
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
a
o
p
.
f
r
a
m
e
w
o
r
k
.
J
d
k
D
y
n
a
m
i
c
A
o
p
P
r
o
x
y
.
i
n
v
o
k
e
(
J
d
k
D
y
n
a
m
i
c
A
o
p
P
r
o
x
y
.
j
a
v
a
:
202
)
a
t
c
o
m
.
s
u
n
.
p
r
o
x
y
.
Proxy719.commit(Unknown Source) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:425) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at com.sun.proxy.
Proxy719.commit(UnknownSource)atorg.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:425)atorg.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)atorg.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)atcom.sun.proxy.Proxy715.modifyPswForSecurity(Unknown Source)
… 42 more
Caused by: org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:272)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.springframework.orm.hibernate3.SpringSessionSynchronization.beforeCommit(SpringSessionSynchronization.java:145)
… 71 more
Caused by: java.sql.BatchUpdateException: ORA-01013: user requested cancel of current operation
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10401)
at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:230)
at weblogic.jdbc.wrapper.PreparedStatement.executeBatch(PreparedStatement.java:210)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:255)
原因时数据库表被锁了,导致update操作时不能进行事务提交。
需要将表解锁才行。
oracle锁相关的语句:
SELECT * FROM v$lock;
SELECT * FROM v$sqlarea;
SELECT * FROM v$session;
SELECT * FROM v$process;
SELECT * FROM v$locked_object;
SELECT * FROM all_objects;
SELECT * FROM v$session_wait;
-- 查询锁住的表
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from
v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id=lo.object_id
and lo.session_id=sess.sid;
-- 解锁
alter system kill session '68,51';
--分别为SID和SERIAL#号
该解锁过程参考
https://blog.csdn.net/qq_38819293/article/details/86526696