[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-5845) Lazy Loading of audited entites with revision type 'delete'

Jonas Schlaak (JIRA) noreply at atlassian.com
Thu Mar 22 10:13:48 EDT 2012


     [ https://hibernate.onjira.com/browse/HHH-5845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonas Schlaak updated HHH-5845:
-------------------------------

    Attachment: hhh5845_testcase.zip

Finally got around to adding a test case. Hope you guys notice it.

> Lazy Loading of audited entites with revision type 'delete'
> -----------------------------------------------------------
>
>                 Key: HHH-5845
>                 URL: https://hibernate.onjira.com/browse/HHH-5845
>             Project: Hibernate ORM
>          Issue Type: Bug
>          Components: envers
>    Affects Versions: 3.5.6
>         Environment: Hibernate 3.5.6, Oracle 10 DB
>            Reporter: Jonas Schlaak
>            Assignee: Adam Warski
>         Attachments: hhh5845_testcase.zip
>
>
> Two classes are given, and they are related via a OneToOne relationship:
> @Audited
> public class MyClass {
>     @OneToOne
>     @Cascade(value = CascadeType.ALL)
>     private MyOtherClass otherClass;
> }
> @Audited
> public class MyOtherClass {
> }
> The property "org.hibernate.envers.store_data_at_delete" is set to true, and when auditquerying for the deleted objects and initiliazing the otherClass (an entity which is also deleted) property, and ObjectNotFoundExceptions is thrown. It seems that the proxies do not look for deleted entities, because the same query works fine for the entities of revision type 'ADD' and 'MOD'. The code of the query:
> AuditQuery queryDeleted = reader.createQuery().forRevisionsOfEntity(
>                 MyClass.class, false, true).add(
>                 AuditEntity.revisionType().eq(RevisionType.DEL));
> List queryResult = queryDeleted.getResultList();
> List<MyClass> result = new ArrayList<MyClass>();
> for (Object object : queryResult) {
>      Object[] oArray = (Object[]) object;
>      MyClass c = (MyClass) oArray[0];
>      Hibernate.initialize(c.getOtherClass());
> }
> Forum post with Adam Warski's response:
> http://community.jboss.org/thread/160939?tstart=0

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list