Qualcuno potrebbe aiutarmi con il caso d'uso quando usare @Version
e @Audited
in Hibernate?Quando utilizzare @Version e @Audited in Hibernate?
risposta
@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
@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à.
Grazie per la risposta – Kathir
- 1. Hibernate Envers: @Audited su una sottoclasse
- 2. Quando utilizzare Nhibere <version>?
- 3. Quando utilizzare le proiezioni Hibernate?
- 4. version-script e visibilità nascosta
- 5. javadoc: @version e @since
- 6. warbler config e jruby version
- 7. Hibernate: come utilizzare CONCAT e GROUP_CONCAT
- 8. Quando utilizzare JMS e quando utilizzare REST?
- 9. JPA @Version: come si usa?
- 10. Controllo con Envers e Hibernate Spatial 4
- 11. Spring hibernate template quando usare e perché?
- 12. Strategia di recupero in ibernazione - quando utilizzare "join" e quando utilizzare "select"?
- 13. Quando utilizzare inverse = false sulle relazioni NHibernate/Hibernate OneToMany?
- 14. Tipi di cascata Hibernate e JPA quando utilizzare quale e dove
- 15. Ottieni inf-ruby per utilizzare ruby version manager (rvm)
- 16. può utilizzare contemporaneamente il pool di Hibernate e Tomcat Connection?
- 17. Get file version
- 18. VS2015 - Cambia TypeScript Version
- 19. Come utilizzare il metodo setParameterList() in Hibernate?
- 20. Quando utilizzare, non utilizzare, OneToOne e ManyToOne
- 21. Quando utilizzare Meteor.methods e utilizzare gli stub
- 22. Quando utilizzare e quando non utilizzare Python 3.5 `attendere '?
- 23. Quando utilizzare le categorie e quando utilizzare la sottoclasse?
- 24. Hibernate Envers e "Javassist Enhancement fallita" Eccezione
- 25. Quando utilizzare l'array di byte e quando utilizzare lo streaming?
- 26. Quando utilizzare un modulo e quando utilizzare una classe
- 27. Quando utilizzare socket.io e quando usare ajax
- 28. Quando utilizzare os.Exit() e panic() in Golang?
- 29. Quando utilizzare UserControl e Control in Silverlight?
- 30. ConstraintViolationException: NOT NULL quando si utilizza Spring, HSQL e Hibernate
Grazie per le risposte e avete ragione .. – Kathir