Открих, че трябва да получа RowId. От queryChangeDescription
можете да получите TabeleChangeDesciptions
което няма нищо общо с TableChangeDecription от събитието. Ако има промени в повече от една таблица, тези таблици са изброени в масива. Тъй като съм регистриран само в една таблица, не трябва да обикалям списъка.
След като разполагате с TableChangeDescription
можете да получите RowChangeDescription
за всеки променен ред. От това можете да получите RowId.
for (QueryChangeDescription queryChangeDescription : databaseChangeEvent.getQueryChangeDescription()) {
RowChangeDescription[] rowChangeDescriptions = queryChangeDescription.getTableChangeDescription()[0].getRowChangeDescription();
for (RowChangeDescription rowChangeDescription : rowChangeDescriptions) {
handleEvent(rowChangeDescription.getRowid());
}
}