Come eseguire il commit di oggetti entity nel database

Informazioni su questa attività

Procedura

Il processo di esecuzione del commit di un oggetto entity nel database è suddiviso in due fasi:

  1. Convalidare il record modificato dall'utente.
  2. Eseguire il commit della modifica.

Risultati

Nota: Nel contesto di un hook, non è possibile eseguire il commit delle modifiche al record corrente. Tuttavia, se si scrive una applicazione esterna e si desidera conservare le modifiche apportate ad un record, è necessario eseguire personalmente il commit di tali modifiche nel database.

Per convalidare un record, richiamare il metodo Validate dell'oggetto Entity corrispondente. Questo metodo esegue gli script di convalida dello schema e restituisce una stringa contenente tutti gli errori di convalida. Se questa stringa non è vuota, è possibile utilizzare il metodo GetInvalidFieldValues per ottenere un elenco di campi che contengono dati non corretti. Una volta corretti tali valori nei campi, è necessario eseguire un nuovo metodo di convalida (Validate). Se il metodo Validate restituisce una stringa vuota significa che non esistono ulteriori errori.

Una volta convalidato il record, ed eseguita con esito positivo la convalida, l'utente esegue il commit delle proprie modifiche nel database richiamando il metodo Commit dell'oggetto Entity corrispondente. Quando si richiama il metodo Commit, le modifiche vengono scritte nel database e viene richiamato l'hook commit dell'azione. Se il commit ha esito positivo, viene avviato l'hook di notifica dell'azione.

Nota: Per avere informazioni sull'ordine di avvio degli hook, consultare Ordine di esecuzione di hook di campo e di azione nella guida per lo sviluppatore dello schema.

Se si decide di non eseguire il commit delle modifiche nel database, è possibile annullare le modifiche richiamando il metodo Revert dell'oggetto Entity. Eseguendo l'annullamento di una serie di modifiche, lo stato del record ritorna sullo stato che aveva prima di utilizzare il metodo EditEntity. Se si esegue l'annullamento delle modifiche apportate nell'oggetto Entity creato tramite il metodo BuildEntity, il record viene completamente eliminato.

Nota: Rational ClearQuest non ricicla gli ID visibili associati ai record. Se si annullano modifiche apportate ad un record reso modificabile con l'utilizzo del metodo BuildEntity, il record viene eliminato ma non il suo ID visibile così da impedirne l'utilizzo da parte di record futuri.

Feedback