The isolation level measures concurrent transactions' capacity to view data that have been updated, but not yet committed, by another transaction.
ReadUncommitted: Data that have been updated but not yet committed by a transaction may be read by other transactions.
ReadCommitted: Only data that have been committed by a transaction can be read by other transactions.
RepeatableRead: Only data that have been committed by a transaction can be read by other transactions, and multiple reads will yield the same result as long as the data have not been committed.
Serializable: This, the highest possible isolation level, ensures a transaction's exclusive read-write access to data. It includes the conditions of ReadCommitted and RepeatableRead and stipulates that all transactions run serially to achieve maximum data integrity. This yields the slowest performance and least concurrency. The term serializable in this context is absolutely unrelated to Java's object-serialization mechanism and the java.io.Serializable interface.