In fact my example with the collection updating automatically was
wrong... because, as it was said, the transaction is not committed at
the end.
But I remember other kind of problems when I wanted to save and commit
my modified entities after I loaded and associated them during the
request (via OSIV) :
I was passing a graph of persistent objects to the manager and I had
exception like "a different object with the same identifier value was
already associated with the session".
I tried then to use a merge but in this case I had other exception (I
don't remember exactly which one)...
If I don't use OSIV and pass a graph of transient object, it works fine!
It must be something wrong with my hibernate mapping but it hard to locate :-(
Cedric
On Thu, Sep 18, 2008 at 3:26 AM, Maarten Bosteels
<[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I never really used OpenSessionInViewFilter, but I remember Juergen
> Hoeller saying that he sometimes wished he never wrote OSIV because of
> all the potential side-effects.
> At the time a ridiculous big percentage of questions on the spring
> forum where about OSIV.
>
> This was several years ago though, and I have the impression that a
> lot of people are using OSIV now without problems.
>
> I guess it all works fine when you know what you're doing :-)
>
> Maarten
>
>
> On Tue, Sep 16, 2008 at 10:28 PM, Cédric Thiébault
> <[EMAIL PROTECTED]> wrote:
> > Ok thanks all...
> > I will read again about Hibernate sessions :-)
> >
> > Cedric
> >
> >
> > On Tue, Sep 16, 2008 at 4:26 PM, Igor Vaynberg <[EMAIL PROTECTED]>wrote:
> >
> >> +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]
> >>
> >>
> >
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]