HHH-7682 Audit records are not rolled back when transaction is rolled
back
This commit is contained in:
parent
ac511bf72e
commit
b7855e944b
|
@ -0,0 +1,50 @@
|
||||||
|
package org.hibernate.envers.test.integration.basic;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.persistence.EntityManager;
|
||||||
|
|
||||||
|
import org.hibernate.envers.test.BaseEnversJPAFunctionalTestCase;
|
||||||
|
import org.hibernate.envers.test.entities.IntTestEntity;
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Tomasz Dziurko (tdziurko at gmail dot com)
|
||||||
|
*/
|
||||||
|
public class TransactionRollbackBehaviour extends BaseEnversJPAFunctionalTestCase {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAuditRecordsRollback() {
|
||||||
|
// Given
|
||||||
|
EntityManager em = getEntityManager();
|
||||||
|
em.getTransaction().begin();
|
||||||
|
IntTestEntity iteToRollback = new IntTestEntity( 30 );
|
||||||
|
em.persist( iteToRollback );
|
||||||
|
Integer rollbackedIteId = iteToRollback.getId();
|
||||||
|
em.getTransaction().rollback();
|
||||||
|
|
||||||
|
// When
|
||||||
|
em.getTransaction().begin();
|
||||||
|
IntTestEntity ite2 = new IntTestEntity( 50 );
|
||||||
|
em.persist( ite2 );
|
||||||
|
Integer ite2Id = ite2.getId();
|
||||||
|
em.getTransaction().commit();
|
||||||
|
|
||||||
|
// Then
|
||||||
|
List<Number> revisionsForSavedClass = getAuditReader()
|
||||||
|
.getRevisions( IntTestEntity.class, ite2Id );
|
||||||
|
Assert.assertEquals( "There should be one revision for inserted entity",
|
||||||
|
1, revisionsForSavedClass.size() );
|
||||||
|
|
||||||
|
List<Number> revisionsForRolledbackClass = getAuditReader()
|
||||||
|
.getRevisions( IntTestEntity.class, rollbackedIteId );
|
||||||
|
Assert.assertEquals( "There should be one revision for inserted entity",
|
||||||
|
0, revisionsForRolledbackClass.size() );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<?>[] getAnnotatedClasses() {
|
||||||
|
return new Class<?>[] { IntTestEntity.class };
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue