protected long insertData(ISqlTransaction transaction, final Data data) {
long id = transaction.insertWithGeneratedKey(
getSql("insertIntoDataSql"),
symmetricDialect.getSequenceKeyName(SequenceIdentifier.DATA),
symmetricDialect.getSequenceName(SequenceIdentifier.DATA),
new Object[] {
data.getTableName(),
data.getDataEventType().getCode(),
data.getRowData(),
data.getPkData(),
data.getOldData(),
data.getTriggerHistory() != null ? data.getTriggerHistory()
.getTriggerHistoryId() : -1, data.getChannelId(), data.getExternalData(), data.getNodeList() }, new int[] {
Types.VARCHAR, Types.CHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR,
Types.NUMERIC, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR });
data.setDataId(id);
return id;
}