+1
-igor
On Tue, Sep 16, 2008 at 1:24 PM, James Carman
<[EMAIL PROTECTED]> wrote:
> +1, OSIV works for me just fine, too. You must be doing something
> weird. The OSIV doesn't commit transactions by default. So, it
> shouldn't be doing anything weird.
>
> On Tue, Sep 16, 2008 at 1:07 PM, Michael Sparer <[EMAIL PROTECTED]> wrote:
>>
>> Before dropping OpenSessionInviewFilter I'd suggest to have a more thorough
>> look at how hibernate works. e.g. have a look at the different cascade
>> styles hibernate offers and also at transaction management, then it's easy
>> to know why, and when, hibernate "commits" without explicitly calling save
>> ... but that's no wicket topic after all. I'm using opensessioninviewfilter
>> with loadabledetachablemodels in my webapp and never had problems ...
>>
>> just my two cents,
>> Michael
>>
>>
>> thiebal wrote:
>>>
>>> I had lots of problems with a Spring MVC webapp that was using
>>> OpenSessionInViewFilter : beans were associated directly in DB when they
>>> were added to a collection (like the current Foo/Bar case) even if I
>>> didn't
>>> commit explicitly.
>>> Without the session opened, I can prepare all my entities and just save
>>> them
>>> and commit.
>>>
>>> I use this filter on another webapp that just load entities form DB but
>>> does
>>> not update them. It works perfectly!
>>>
>>> I though I would have the same kind of errors with Wicket because this is
>>> not a Wicket part but just a Hibernate functionality.
>>>
>>> If in my case, I use the filter, the Bar.foos association will be loaded
>>> just on demand but if I add it a new created Foo entity (transient), it
>>> will
>>> try to save it on flush (so before my save/commit) and I will have an
>>> exception.
>>> Maybe I'm wrong but I remember this kind of errors with Spring MVC...
>>>
>>> Cedric
>>>
>>>
>>> On Tue, Sep 16, 2008 at 10:16 AM, James Carman
>>> <[EMAIL PROTECTED]>wrote:
>>>
>>>> What problems does it cause?
>>>>
>>>> On Tue, Sep 16, 2008 at 9:14 AM, Cédric Thiébault
>>>> <[EMAIL PROTECTED]> wrote:
>>>> > Thanks Michael.
>>>> >
>>>> > But I don't use the OpenSessionInviewFilter and I don't want to use it.
>>>> > It creates more problems than it solves in my edit pages.
>>>> >
>>>> > The LoadableDetachableModel will load the whole list of choices, not
>>>> > just the one that was selected by the user.
>>>> > I will encounter the same error except if the
>>>> > LoadableDetachableModel.load method pre-fetch the associations...
>>>> >
>>>> > Cedric
>>>> >
>>>> >
>>>> > On Tue, Sep 16, 2008 at 3:01 AM, Michael Sparer <[EMAIL PROTECTED]>
>>>> wrote:
>>>> >>
>>>> >> Use LoadableDetachableModels (and be sure that the
>>>> OpensessionInviewFilter
>>>> >> goes before the wicketfilter) and your hibernate entity will always be
>>>> in
>>>> >> the right session
>>>> >>
>>>> >> regards,
>>>> >> Michael
>>>> >>
>>>> >> thiebal wrote:
>>>> >>>
>>>> >>> My DropDownChoice contains a list of hibernate entities that are not
>>>> >>> fully loaded.
>>>> >>> But when I select a value in the dropdown I receive a
>>>> >>> LazyLoadingException because Wicket tries to add an entry in a
>>>> >>> collection that was not previously loaded.
>>>> >>>
>>>> >>> I tried to use a Converter but it is not called because
>>>> >>> PropertyResolverConverter set directly the value (because their
>>>> >>> classes are compatible) :
>>>> >>> if (clz.isAssignableFrom(object.getClass())) {
>>>> >>> return object;
>>>> >>> }
>>>> >>>
>>>> >>> It works if I preload each entry in the list of choices of the
>>>> >>> DropDownChoice but it is very expensive. To display the dropdown, I
>>>> >>> just need to retrieve the name of my hibernate entity, not the
>>>> >>> collection inside this bean.
>>>> >>> I would like to load the collection only when the user select an
>>>> >>> option in the select.
>>>> >>>
>>>> >>> Code :
>>>> >>> class Foo {
>>>> >>> Bar bar;
>>>> >>>
>>>> >>> void setBar(Bar bar) {
>>>> >>> this.bar = bar;
>>>> >>> bar.getFoos().add(this); // this will throw a
>>>> >>> LazyLoadingException if I don't fetch the collections before I render
>>>> >>> the DropDownChoice
>>>> >>> }
>>>> >>> }
>>>> >>>
>>>> >>> class Bar {
>>>> >>> Collection<Foo> foos;
>>>> >>> }
>>>> >>>
>>>> >>> Is there a nice way to do that ?
>>>> >>>
>>>> >>> Thanks in advance :-)
>>>> >>>
>>>> >>> Cedric
>>>> >>>
>>>> >>> ---------------------------------------------------------------------
>>>> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> >>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>
>>>> >>
>>>> >> -----
>>>> >> Michael Sparer
>>>> >> http://talk-on-tech.blogspot.com
>>>> >> --
>>>> >> View this message in context:
>>>> http://www.nabble.com/DropDownChoice-and-lazy-loaded-choices-tp19501118p19506463.html
>>>> >> Sent from the Wicket - 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]
>>>> >
>>>> >
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>
>>>
>>
>>
>> -----
>> Michael Sparer
>> http://talk-on-tech.blogspot.com
>> --
>> View this message in context:
>> http://www.nabble.com/DropDownChoice-and-lazy-loaded-choices-tp19501118p19516254.html
>> Sent from the Wicket - 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]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]