OSIV is never suppose to flush/commit?

Gabriel Belingueres-2 wrote:
> 
> I suspect that in case A) you are just creating a new POJO in memory
> (never linked to the Hibernate's Session), that's why the
> OpenSessionInViewFilter does nothing.
> 
> In case B), you are loading into the Session the POJO in the prepare
> method. When submit the form, it is loaded again before action's
> execute() method, then the ParametersInterceptor updates the POJO
> field, and at the end the OpenSessionInViewFilter commits the Session
> with the POJO's fields modified, so Hibernate performs the update.
> 
> 2008/9/24 Jack_Ryde <[EMAIL PROTECTED]>:
>>
>> Keyword: struts2 preparable, spring OpenSessionInViewFilter, hibernate
>> transaction management.
>>
>> Background:
>>
>> We use OpenSessionInViewFilter in our web xml to enable lazy loading in
>> web
>> views.
>>
>> The struts action class provides a basic function in adding, updating and
>> deleting data entity as a controller.
>>
>> Our form fields reference the entity object and its properties with a
>> valid
>> OGNL expression...
>>  like <s:textfield name="organisation.phoneNumber"></s:textfield>
>>
>> The submitform's action does nothing to D.B.
>>
>> Problem:
>>
>> Case A:
>>
>> The struts action does not implement Preparable interface and we use some
>> private method to initialize the data used .
>>
>> The jsp uses the entity expression directly. <s:textfield
>> name="organisation.phoneNumber"></s:textfield>
>>
>> As a result, whenever you make any change in the jsp for this entity and
>> submit the form, it does not go to the D.B.
>>
>> Which is good because this is exactly what we want as "Open Session in
>> View", which is read-only.
>>
>>
>>
>> Case B:
>>
>> The struts action does implement Preparable interface and in the
>> implementation, we retrieve the data from database and populate its
>> original
>> value.
>>
>> And the jsp uses the entity expression directly. <s:textfield
>> name="organisation.phoneNumber"></s:textfield>
>>
>> As a result, whenever you make any change in the jsp for this entity and
>> submit the form, it changes the D.B.
>>
>> My question is the case B:
>>
>> How does  "Preparable" influence hibernate transaction management? Anyone
>> has any idea?
>>
>>
>> I guess it is related to the struts 2 Interceptor, which does have some
>> influence to the spring, which then influences the hibernate transaction
>> control.
>>
>> I post the problem in struts forum, not spring or hibernate forum, 
>> because
>> if I do not use "Preparable", everything works as expected.
>>
>>
>> cheers
>> Jack
>>
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/%22Preparable%22-influence-hibernate-transaction-management-when-using-%22OpenSessionInViewFilter%22-tp19660675p19660675.html
>> Sent from the Struts - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
-- 
View this message in context: 
http://www.nabble.com/%22Preparable%22-influence-hibernate-transaction-management-when-using-%22OpenSessionInViewFilter%22-tp19660675p19709335.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to