Jag upptäckte att det var att skaffa RowId. Från queryChangeDescription
du kan få TabeleChangeDesciptions
som inte har något gemensamt med TableChangeDecription från händelsen. Om det finns ändringar på mer än en tabell, är dessa tabeller listade i arrayen. Eftersom jag bara är registrerad i en tabell behöver jag inte iterera över listan.
Efter att ha använt TableChangeDescription
du kan få RowChangeDescription
för varje ändrad rad. Från detta kan du hämta RowId.
for (QueryChangeDescription queryChangeDescription : databaseChangeEvent.getQueryChangeDescription()) {
RowChangeDescription[] rowChangeDescriptions = queryChangeDescription.getTableChangeDescription()[0].getRowChangeDescription();
for (RowChangeDescription rowChangeDescription : rowChangeDescriptions) {
handleEvent(rowChangeDescription.getRowid());
}
}