J'ai trouvé que c'était pour obtenir le RowId. Depuis le queryChangeDescription
vous pouvez obtenir le TabeleChangeDesciptions
qui n'a rien en commun avec la TableChangeDecription de l'événement. S'il y a des modifications sur plus d'une table, ces tables sont répertoriées dans le tableau. Comme je ne suis inscrit que sur une seule table, je n'ai pas à parcourir la liste.
Après avoir utilisé la TableChangeDescription
vous pouvez obtenir le RowChangeDescription
pour chaque ligne modifiée. À partir de là, vous pouvez obtenir le RowId.
for (QueryChangeDescription queryChangeDescription : databaseChangeEvent.getQueryChangeDescription()) {
RowChangeDescription[] rowChangeDescriptions = queryChangeDescription.getTableChangeDescription()[0].getRowChangeDescription();
for (RowChangeDescription rowChangeDescription : rowChangeDescriptions) {
handleEvent(rowChangeDescription.getRowid());
}
}