Zjistil jsem, že mám získat RowId. Z queryChangeDescription
můžete získat TabeleChangeDesciptions
který nemá nic společného s TableChangeDecription z události. Pokud dojde ke změnám ve více než jedné tabulce, budou tyto tabulky uvedeny v poli. Protože jsem registrován pouze v jedné tabulce, nemusím seznam iterovat.
Po použití TableChangeDescription
můžete získat RowChangeDescription
pro každý změněný řádek. Z toho můžete získat RowId.
for (QueryChangeDescription queryChangeDescription : databaseChangeEvent.getQueryChangeDescription()) {
RowChangeDescription[] rowChangeDescriptions = queryChangeDescription.getTableChangeDescription()[0].getRowChangeDescription();
for (RowChangeDescription rowChangeDescription : rowChangeDescriptions) {
handleEvent(rowChangeDescription.getRowid());
}
}