org.hibernate.HibernateException: Failed to commit or rollback transaction. Root cause [ SQL next exception = [org.postgresql.util.PSQLException: ERROR: column "xwa_content" is of type bytea but expression is of type bigint Rada: You will need to rewrite or cast the expression. Pozice: 67]]

XWiki.org JIRA | Martin Vanek | 5 years ago
  1. 0

    I'm getting same exception when upgrading from 3.1.1 as described in http://jira.xwiki.org/browse/XWIKI-7388 Adding <property name="jdbc.use_streams_for_binary">false</property> into hibernate.cfg.xml does not have any effect Adding <typedef name="materialized_clob" class="org.hibernate.type.StringClobType" /> into xwiki.hbm.xml helps to display and edit, but xar importing and file attaching dies {noformat}org.hibernate.HibernateException: Failed to commit or rollback transaction. Root cause [ SQL next exception = [org.postgresql.util.PSQLException: ERROR: column "xwa_content" is of type bytea but expression is of type bigint Rada: You will need to rewrite or cast the expression. Pozice: 67]] at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernateBaseStore.java:876) ~[xwiki-platform-legacy-oldcore-3.4.jar:na] at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernateBaseStore.java:840) ~[xwiki-platform-legacy-oldcore-3.4.jar:na] at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore.java:683) ~[xwiki-platform-legacy-oldcore-3.4.jar:na] ... 49 common frames omitted Caused by: org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92) ~[hibernate-core-3.6.9.Final.jar :3.6.9.Final] at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) ~[hibernate-core-3.6.9.Final.jar:3.6.9.Final] at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275) ~[hibernate-core-3.6.9.Final.jar:3.6.9.Final] {noformat}

    XWiki.org JIRA | 5 years ago | Martin Vanek
    org.hibernate.HibernateException: Failed to commit or rollback transaction. Root cause [ SQL next exception = [org.postgresql.util.PSQLException: ERROR: column "xwa_content" is of type bytea but expression is of type bigint Rada: You will need to rewrite or cast the expression. Pozice: 67]]
  2. 0

    Could not execute JDBC batch update error

    Stack Overflow | 3 years ago | Maggie
    org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch &gt;update
  3. 0

    db:: 3.60::Help with Java Main class issue pc

    hivmr.com | 8 months ago
    org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    2011-08-24 16:00:15,886 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275) at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:114) at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109) at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2242) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2678) at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028) at org.hibernate.envers.synchronization.AuditSync.beforeCompletion(AuditSync.java:161) at org.hibernate.transaction.JDBCTransaction.notifyLocalSynchsBeforeTransactionCompletion(JDBCTransaction.java:274) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:140) at org.openspaces.persistency.hibernate.DefaultHibernateExternalDataSource.executeBulk(DefaultHibernateExternalDataSource.java:107) at com.skyroad.motion.transactionmanager.util.TransactionMirrorExternalDataSource.executeBulk(TransactionMirrorExternalDataSource.java:32) What the code is doing in the exception handling of AuditSync.java (5th line from the bottom in the stack track) is rolling back the transaction as far as the hibernate session is concerned and then unconditionally throwing the exception to the next level. However, the code in notifyLocalSynchsBeforeTransactionCompletion() eating the exception so Gigaspaces isn't aware that it happened. This would explain why the database writes are rolled back but the space isn't. public void beforeCompletion() { if (workUnits.size() == 0 && undoQueue.size() == 0) { return; } try { // see: http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4178431 if (FlushMode.isManualFlushMode(session.getFlushMode()) || session.isClosed()) { Session temporarySession = null; try { temporarySession = session.getFactory().openTemporarySession(); executeInSession(temporarySession); temporarySession.flush(); } finally { if (temporarySession != null) { temporarySession.close(); } } } else { executeInSession(session); // Explicity flushing the session, as the auto-flush may have already happened. session.flush(); } } catch (RuntimeException e) { // Rolling back the transaction in case of any exceptions //noinspection finally try { if (session.getTransaction().isActive()) { session.getTransaction().rollback(); } } finally { //noinspection ThrowFromFinallyBlock throw e; } } } private void notifyLocalSynchsBeforeTransactionCompletion() { if (synchronizations!=null) { for ( int i=0; i<synchronizations.size(); i++ ) { Synchronization sync = (Synchronization) synchronizations.get(i); try { sync.beforeCompletion(); } catch (Throwable t) { log.error("exception calling user Synchronization", t); } } } }

    Hibernate JIRA | 5 years ago | Rich Christy
    org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
  6. 0

    Could not synchronize database state with session while conecting to oracle

    manning.com | 4 months ago
    org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. org.hibernate.exception.SQLGrammarException

      Could not execute JDBC batch update

      at org.hibernate.exception.SQLStateConverter.convert()
    2. Hibernate
      AbstractBatcher.executeBatch
      1. org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)[hibernate-core-3.6.9.Final.jar:3.6.9.Final]
      2. org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)[hibernate-core-3.6.9.Final.jar:3.6.9.Final]
      3. org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)[hibernate-core-3.6.9.Final.jar:3.6.9.Final]
      3 frames