[
https://hibernate.onjira.com/browse/HHH-7017?page=com.atlassian.jira.plug...
]
Adam Warski commented on HHH-7017:
----------------------------------
Could you try creating a test case for that? There is a test for manual flush
(org.hibernate.envers.test.integration.flush.ManualFlush), and I'm curious how your
usage differs.
Adam
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: Adam Warski
Labels: auditing
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:
http://www.atlassian.com/software/jira