首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

javax.ejb.EJBException: Update failed.

2011-12-11 
(EJB 高手来看一下) 原来一切正常,但是自从在SQL数据库里加了一个触发器后,就报错了,搞不懂??? 报的错误如

(EJB 高手来看一下) 原来一切正常,但是自从在SQL数据库里加了一个触发器后,就报错了,搞不懂???

报的错误如下:
log4j:WARN   No   appenders   could   be   found   for   logger   (org.jboss.util.NestedThrowable).

log4j:WARN   Please   initialize   the   log4j   system   properly.

org.jboss.tm.JBossTransactionRolledbackException:   null;   nested   exception   is:  
org.jboss.tm.JBossRollbackException:   Unable   to   commit,   tx=TransactionImpl:XidImpl[FormatId=257,  
GlobalId=lqgscp/15,   BranchQual=,   localId=15]   status=STATUS_NO_TRANSACTION;   -   nested   throwable:  
(javax.ejb.EJBException:   Update   failed.   Expected   one   affected   row:   rowsAffected=0,   id=dyxx.TransinfoPK@3a2b7dd);
-   nested   throwable:   (org.jboss.tm.JBossRollbackException:   Unable   to   commit,   tx=TransactionImpl:XidImpl[FormatId=257,
GlobalId=lqgscp/15,   BranchQual=,   localId=15]   status=STATUS_NO_TRANSACTION;   -   nested   throwable:   (javax.ejb.EJBException:
Update   failed.   Expected   one   affected   row:   rowsAffected=0,   id=dyxx.TransinfoPK@3a2b7dd))

at   org.jboss.ejb.plugins.TxInterceptorCMT.throwJBossException(TxInterceptorCMT.java:554)

at   org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:491)

at   org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:346)

at   org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)

at   org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:139)

at   org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)

at   org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)

at   org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)

at   org.jboss.ejb.Container.invoke(Container.java:873)

at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native   Method)

at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at   java.lang.reflect.Method.invoke(Method.java:585)

at   org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)

at   org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)

at   org.jboss.mx.server.Invocation.invoke(Invocation.java:72)

at   org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)

at   org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)

at   org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)

at   org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)

at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native   Method)

at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at   java.lang.reflect.Method.invoke(Method.java:585)

at   sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)

at   sun.rmi.transport.Transport$1.run(Transport.java:153)

at   java.security.AccessController.doPrivileged(Native   Method)

at   sun.rmi.transport.Transport.serviceCall(Transport.java:149)



at   sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)

at   sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)

at   java.lang.Thread.run(Thread.java:595)

Caused   by:   org.jboss.tm.JBossRollbackException:   Unable   to   commit,   tx=TransactionImpl:XidImpl[FormatId=257,   GlobalId=lqgscp/15,   BranchQual=,   localId=15]   status=STATUS_NO_TRANSACTION;   -   nested   throwable:   (javax.ejb.EJBException:   Update   failed.   Expected   one   affected   row:   rowsAffected=0,   id=dyxx.TransinfoPK@3a2b7dd)

at   org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:344)

at   org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:486)

...   29   more

Caused   by:   javax.ejb.EJBException:   Update   failed.   Expected   one   affected   row:   rowsAffected=0,   id=dyxx.TransinfoPK@3a2b7dd

at   org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.execute(JDBCStoreEntityCommand.java:155)

at   org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.storeEntity(JDBCStoreManager.java:651)

at   org.jboss.ejb.plugins.CMPPersistenceManager.storeEntity(CMPPersistenceManager.java:413)

at   org.jboss.resource.connectionmanager.CachedConnectionInterceptor.storeEntity(CachedConnectionInterceptor.java:390)

at   org.jboss.ejb.EntityContainer.storeEntity(EntityContainer.java:743)

at   org.jboss.ejb.GlobalTxEntityMap$2.synchronize(GlobalTxEntityMap.java:134)

at   org.jboss.ejb.GlobalTxEntityMap$GlobalTxSynchronization.synchronize(GlobalTxEntityMap.java:253)

at   org.jboss.ejb.GlobalTxEntityMap$GlobalTxSynchronization.beforeCompletion(GlobalTxEntityMap.java:302)

at   org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionImpl.java:1384)

at   org.jboss.tm.TransactionImpl.beforePrepare(TransactionImpl.java:1076)

at   org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:296)

...   30   more



[解决办法]
建议楼主清空数据库表试试.
[解决办法]
不懂啊,帮你顶
[解决办法]
你把触发器改一下,别把触发器的操作当成一个事务。

热点排行