]
Lukasz Antoniak resolved HHH-7017.
----------------------------------
Resolution: Fixed
Fix Version/s: 4.1.2
Envers does not work in case of resource-local transactions and
manual session flush mode
-----------------------------------------------------------------------------------------
Key: HHH-7017
URL:
https://hibernate.onjira.com/browse/HHH-7017
Project: Hibernate ORM
Issue Type: Bug
Components: envers
Affects Versions: 3.6.9
Environment: Hibernate 3.6.9, MySQL 5.1.44-community, mysql-connector-java-5.1.6,
Inno DB tables
Reporter: Vladimir Velikiy
Assignee: Lukasz Antoniak
Labels: auditing
Fix For: 4.1.2
Attachments: ManualFlushAutoCommitDisabled.java
When I set a manual hibernate session flush mode envers does not write data in database.
With FlushMode.AUTO all works ok. I think the problem in in a method
doBeforeTransactionCompletion of the AuditProcess.java:
if (FlushMode.isManualFlushMode(session.getFlushMode())) {
Session temporarySession = null;
try {
temporarySession = session.getFactory().openTemporarySession();
executeInSession(temporarySession);
temporarySession.flush();
} finally {
if (temporarySession != null) {
temporarySession.close();
}
}
} else {
executeInSession((Session) session);
// Explicity flushing the session, as the auto-flush may have already
happened.
session.flush();
}
In non-jta environment temporary session connection transaction is not commited.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: