[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-4555?page=c...
]
Paul Poole commented on HHH-4555:
---------------------------------
Steve, I could be incorrect as I am operating on an analysis done by a colleague. But, I
am under the impression that the Flush mode must be set to transaction. In our
application, we have the flush mode set to manual so that we can better control the
flushing. Worth noting, the analysis was done on a 1.2.x (not sure of the exact number)
version of Envers as we are currently on hibernate 3.3.x. If this is incorrect, then I
apologize and will discuss this with my colleague. Thanks!
Support use of Envers with Auto-commit mode.
--------------------------------------------
Key: HHH-4555
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-4555
Project: Hibernate ORM
Issue Type: New Feature
Components: envers
Affects Versions: 3.5.0-Beta-2
Environment: Hibernate 3.5.0-Beta-2
Reporter: Kevin Schmidt
Assignee: Adam Warski
Currently Envers is designed so that it synchronizes with the currently running
transaction in order to know when to commit the inserts into the Audit Tables. This is an
effective strategy for ensuring that the audit information is only saved to the database
if the Transactional Unit of Work which caused the audit data to be created is committed.
This design creates a limitation on Envers such that it cannot persist audit
information unless there is an active transaction. This effectively disables auditing for
anyone modifying data using Hibernate outside of a Hibernate Transaction. Specifically,
if you are using Autocommit = True and manually flushing the Hibernate Session then you
cannot have any of your data audited using Envers.
I am not that well versed with the design of Envers but was hoping this situation
could be detected and avoided. Maybe the audit information could be synchronized on the
flush event rather than when a transaction is committed to the database.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira