code: @Override
      public void writeEvent(Event event) {
          Originator originator = event.getOriginator();
          MessageInfo messageInfo = event.getMessageInfo();
  
          long id = dbDialect.getIncrementer().nextLongValue();
          event.setPersistedId(id);
  
          getJdbcTemplate()
              .update("insert into EVENTS (ID, EI_TIMESTAMP, EI_EVENT_TYPE,"
                      + " ORIG_PROCESS_ID, ORIG_IP, ORIG_HOSTNAME, "
                      + " ORIG_CUSTOM_ID, ORIG_PRINCIPAL,"
                      + " MI_MESSAGE_ID, MI_FLOW_ID, MI_PORT_TYPE,"
                      + " MI_OPERATION_NAME, MI_TRANSPORT_TYPE,"
                      + " CONTENT_CUT, MESSAGE_CONTENT) "
                      + " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
                      event.getPersistedId(), event.getTimestamp(), event.getEventType().toString(),
                      originator.getProcessId(), originator.getIp(), originator.getHostname(),
                      originator.getCustomId(), originator.getPrincipal(),
                      messageInfo.getMessageId(), messageInfo.getFlowId(), messageInfo.getPortType(),
                      messageInfo.getOperationName(), messageInfo.getTransportType(),
                      event.isContentCut(), event.getContent());
  
          writeCustomInfo(event);
  
          if (LOG.isLoggable(Level.INFO)) {
              LOG.info("event [message_id=" + messageInfo.getMessageId() + "] persist to Database successful."
                  + " ID=" + id);
          }
      }
docs: /* (non-Javadoc)
  @see org.talend.esb.sam.common.event.persistence.EventRepository#writeEvent(org.talend.esb.sam.common.event.Event)