[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-2501) Read-only state of an entity in a session to propagate into subsequently lazy-loaded entities.

Shawn Clowater (JIRA) noreply at atlassian.com
Mon Nov 16 13:37:08 EST 2009


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

Shawn Clowater commented on HHH-2501:
-------------------------------------

Steve, the one difference is that my patch was to apply a mechanism to attempt to throw a whole session into a read-only state and not just an individual object so while I think there is still an underlying issue with proxies I think there is still merit for that functionality (i.e. we take a hit in our reporting while it puts the objects into a MANAGED state not to mention if we happen to trigger a flush)

> Read-only state of an entity in a session to propagate into subsequently lazy-loaded entities.
> ----------------------------------------------------------------------------------------------
>
>                 Key: HHH-2501
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2501
>             Project: Hibernate Core
>          Issue Type: New Feature
>          Components: core
>         Environment: any
>            Reporter: Gunther Schadow
>            Priority: Minor
>         Attachments: HHH-2501.patch
>
>
> ISSUE:
> Given an Entity entity and after Session.setReadOnly(entity), if the entity has lazy collections, lazy properties etc., other Entities are loaded into the Session upon navigating the object graph in the default read-writable state. However, it seems more reasonable to maintain the read-only state of the owning object.
> REQUEST:
> Ability to propagate read-only state of an entity in a session into other lazy-loaded entities.
> BACKGROUND:
> We have a system which permits users to make concurrent transactions which involve many of the same objects. Usually no changes happen on these shared objects, but instead connections (links) are made between these objects and new objects. For example, say you have an online meeting system, and every Meeting held has a link to a number of User object. The User objects are never changed in a Meeting, but there is a Relation called Participation (of User in Meeting) to which new relationships are added. When a new meeting is saved, it wants to save the  User objects simply because a new Participation link entry was added to the collection.
> To an extent we can prevent this from happening by setting the Users explicitly to read-only. However, now suppose we added a function "Invite your Friends" to a Meeting, in which we would simply go:
> for(User friend : currentUser.getFriends())
>    meeting.addInvitation(friend);
> Now an Invitation is like a Participation, and would be added into the User but now it wants to save these users just for a version upgrade only because they have received an Invitation.

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