Hibernate – JPA

SessionFactory (jpa: EntityManagerFactory) – thread-safe (and immutable) representation of the mapping of the application domain model to a database Session (jpa: EntityManager) – A single-threaded, short-lived object conceptually modeling a “Unit of Work” StatelessSession – like JDBC Transaction (jpa: EntityTransaction) – A single-threaded, short-lived object used by the application to demarcate individual physical transaction […]

Transaction propagations in Spring

Defaults to Propagation.REQUIRED TransactionDefinition.ISOLATION_DEFAULT – Use the default isolation level of the underlying datastore. TransactionDefinition.ISOLATION_READ_COMMITTED – Indicates that dirty reads are prevented; non-repeatable reads and phantom reads can occur. TransactionDefinition.ISOLATION_READ_UNCOMMITTED – Indicates that dirty reads, non-repeatable reads and phantom reads can occur. TransactionDefinition.ISOLATION_REPEATABLE_READ – Indicates that dirty reads and non-repeatable reads are prevented; phantom reads […]

XA transaction implementation: JTA – Java Transaction API

JTA – Java Transaction API | ACID | Two-phase commit | Three-phase commit XA-compliant javax.transaction javax.transaction.xa javax.transaction.TransactionManager javax.transaction.UserTransaction javax.transaction.xa.XAResource UserTransaction.begin() – start transaction associated to thread @Transactional @TransactionScoped https://www.progress.com/tutorials/jdbc/understanding-jta

ACID – Atomicity, Consistency, Isolation, Durability

JTA – Java Transaction API | ACID | Two-phase commit | Three-phase commit Atomicity — Атомарность – транзакция не может выполниться частично Consistency — Согласованность – завершившаяся транзакция оставляет бд в согласованном состоянии Isolation — Изолированность – на выполнение транзакции не должны влиять другие транзакции системы Durability — Надежность – данные сохраненные выполненной транзакцией не […]

Уровни изоляции транзакций oracle

READ COMMITTED – уровень изоляции транзакции в Oracle по умолчанию. Воспроизводимость чтения на уровне запроса. Запрос видит только зафиксированные данные. SERIALIZABLE – запрос видит данные которые были зафиксированы до момента начала транзакции. Воспроизводимость чтения на уровне всей транзакции. Возможна ORA-08177: can’t serialize access for this transaction – при попытке изменить данные в транзакции, которые в […]