[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-6947) Optionally ignore modifications to the non-owning side of relationships

Michael Rudolf (JIRA) noreply at atlassian.com
Mon Jan 9 03:35:09 EST 2012


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-6947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45016#comment-45016 ] 

Michael Rudolf commented on HHH-6947:
-------------------------------------

It is not about a version being incremented - my entities do not have attributes annotated with @Version - but about Envers generating a new revision also for the non-owning side of relationships. So, yes, I think this enhancement would be specific to Envers.

> Optionally ignore modifications to the non-owning side of relationships
> -----------------------------------------------------------------------
>
>                 Key: HHH-6947
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-6947
>             Project: Hibernate Core
>          Issue Type: New Feature
>          Components: envers
>    Affects Versions: 3.6.9
>            Reporter: Michael Rudolf
>
> The JPA specification requires bidirectional relationships between entities to be implemented using "both an owning side and an inverse (non-owning) side" (§2.9). However, it does not deem this distinction an implementation detail only and, in fact, I have a use case where it is explicitly part of the business model. Unfortunately it then seems that Envers does not support differentiating between the owning side and the inverse of a relationship, since a modification to the relationship will cause a new revision to be generated for both sides instead of just for the owning side. As a consequence, the affected entity at the non-owning side will have a new revision stored in its corresponding version table although no physical but only logical modifications have taken place. In order to ignore these additional revisions, it would then be required to compute the difference to the previous revisions and determine whether physical changes were performed. In general this quickly becomes a complex, error-prone and performance-critical task I would like to avoid. Therefore, in order to be able to expose the distinction between owning side and inverse side of a relationship between entities in the business model, it would be nice to have a new option added to Envers to switch off generating revisions for the non-owning side.

--
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