[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-5315) AuditJoinTable rows are no longer flushed to the database
Erik-Berndt Scheper (JIRA)
noreply at atlassian.com
Thu Jun 24 05:02:09 EDT 2010
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-5315?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=37563#action_37563 ]
Erik-Berndt Scheper commented on HHH-5315:
------------------------------------------
OK, to reproduce the problem, unzip the attached Eclipse project. Should be stand alone with all required jars attached.
Go to the src folder and open
{{org.hibernate.envers.test.entities.collection.CascadeCollectionEntityTest}}
Run this as a JUnit test (this should FAIL).
Now go to line 87 and uncomment the following code
{noformat} // entityManager.flush();
{noformat}
Run the test again and it should succeed.
The same code is used by the envers testcase (patch file). And this does NOT fail. Still don't know why though ;-).
> AuditJoinTable rows are no longer flushed to the database
> ---------------------------------------------------------
>
> Key: HHH-5315
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5315
> Project: Hibernate Core
> Issue Type: Bug
> Components: envers
> Affects Versions: 3.5.1, 3.5.2
> Environment: JPA with extended persistence context
> Reporter: Erik-Berndt Scheper
> Assignee: Adam Warski
> Priority: Minor
> Attachments: HHH-5315-Eclipse-project-testcase.zip, HHH-5315-envers-testcase-does-not-fail.patch
>
>
> In Hibernate core 3.5.1 issue HHH-3543 was fixed by using BeforeTransactionCompletionProcess instead of a transaction synchronization. I have found that since this change, rows in AuditJoinTables are no longer flushed to the database. (Envers 3.5.0 final works fine).
> I can work around the issue by adding a manual entityManager.flush() or by setting the flushmode to manual.
> I have noticed that AuditProcess.java already executes a flush() statement, but this does not seem to suffice. I believe this is caused by the fact that during the doBeforeTransactionCompletion() extra WorkUnits are added to the hibernate ActionQueue (PersistentCollectionChangeWorkUnit) which process the AuditJoinTables.
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list