2012-11-14 24 views

risposta

9

@Version viene utilizzato per implementare Optimistic locking con Hibernate, quindi non è possibile che nessuna transazione esegua l'override dei dati nello stesso momento con un conflitto.
Se i dati vengono letti contemporaneamente da due thread e entrambi provano ad aggiornare la stessa riga con valori diversi, Hibernate utilizza il campo @Version per verificare se la riga è già stata aggiornata.
Prima di eseguire il commit, ogni transazione verifica che nessun'altra transazione abbia modificato i propri dati. Se modificata, l'ultima transazione riscontra un errore di funzionamento con dati non aggiornati.

@Audited viene utilizzato per eseguire auditing functionality sulle entità parte in Hibernate Envers

+0

Grazie per le risposte e avete ragione .. – Kathir

4

@Version - è utilizzato per implementare il blocco ottimistico, vedere 2.2.1.2. Versioning for optimistic locking. Il blocco ottimistico è utile quando non ci si aspetta molte scritture concorrenti e non si vuole pagare il prezzo del blocco del database.

@Autidted - viene fornito da Envers API e può essere utilizzato per tenere traccia automaticamente delle modifiche alle entità in una tabella di controllo separata. Usa Envers per mantenere la cronologia dei cambiamenti di alcune delle tue entità.

+0

Grazie per la risposta – Kathir

Problemi correlati