Could be a c3po or database driver bug. Are you using the latest
versions?

Martijn

On Fri, 2008-07-25 at 06:49 -0400, Chris Lewis wrote:
> Yep, that solved it.
> 
> <property name="hibernate.c3p0.max_statements">0</property>
> 
> After that prepared statements work as normal. Doesn't the
> hibernate.c3p0.max_statements directive help improve performance though?
> I mean, wouldn't it if it didn't fall over ... ;-)
> 
> Thanks Martijn, I'm glad I'm not crazy and will know to be wary of it in
> the future.
> 
> chris
> 
> Martijn Brinkers wrote:
> > This posting also report similar problems and it was 'solved' by
> > disabling the statement cache.
> >
> > https://jira.jboss.org/jira/browse/JBPORTAL-1287
> >
> >
> > Martijn
> >
> > On Thu, 2008-07-24 at 22:57 -0700, Martijn Brinkers (List) wrote:
> >   
> >> Sounds to me something related to the PreparedStatement cache. Do you
> >> use c3po? If so did you specify hibernate.c3p0.max_statements?
> >>
> >> Martijn 
> >>
> >>
> >> On Thu, 2008-07-24 at 23:26 -0400, Chris Lewis wrote:
> >>     
> >>> Ok, I've figured out what exactly is causing it and how to work around
> >>> it. I can't say why, but perhaps a resident hibernate guru will know (it
> >>> may even be a know issue or gotcha). First off, the quick fix. This
> >>> query (and variations like load(), get(), and using the criteria api)
> >>> cause the problem:
> >>>
> >>>         Listing listing = (Listing)session.createQuery("from Listing lst
> >>> where lst.id=:id")
> >>>             .setLong("id", Long.valueOf(sListingId)).uniqueResult();
> >>>
> >>> This works as expected:
> >>>
> >>>         Listing listing = (Listing)session.createQuery("from Listing lst
> >>> where lst.id=" + sListingId)
> >>>             .uniqueResult();
> >>>
> >>> It seems to come down to how hibernate handles the query results when
> >>> the query is formed with a "raw" HQL string vs something like get(),
> >>> load(), the criteria api, or using query parameters as I was initially
> >>> doing. It also has something to do with the field being queried and
> >>> seems to happen only on fields that exist in each of the tables. In my
> >>> case the abstract super class Listing has the PK field "id", and the 2
> >>> subclasses also have a PK field named "id." Querying by any method other
> >>> than "constructed strings" leads to the issue, while querying on another
> >>> field in the super class, whose name is unique to that class, works fine.
> >>>
> >>> So the BIG question is why in the world does it work the first time and
> >>> continue to work until the value one queries by changes?
> >>>
> >>> I'd also like to know if anyone has seen this before, and/or if it's a
> >>> known issue. I'm using a slightly outdated version of hibernate
> >>> (3.2.2.ga) and for all I know this may be fixed in more recent versions.
> >>> My wrists are shot so I'll try tomorrow. If anyone knows of this or gets
> >>> interested/bored enough to try it, please let me know.
> >>>
> >>> Thanks tons for all of your input.
> >>>
> >>> Sincerely,
> >>> Chris Lewis
> >>>
> >>> Chris Lewis wrote:
> >>>       
> >>>> Hello,
> >>>>
> >>>> I have a dispatcher that uses a hibernate session. The dispatcher is
> >>>> auto bound and receives the session in the constructor. I'm using
> >>>> tapestry-hibernate so that session instance is a proxy that gets the
> >>>> real session for the current thread (right?). Now in testing my
> >>>> dispatcher, I give it a url like:
> >>>>
> >>>> /MyContext/?limg=2
> >>>>
> >>>> The dispatcher looks for "limg" and if found, queries the session
> >>>> assuming that its value is the PK of a mapped entity. When I trigger the
> >>>> dispatcher for the first time it works fine. If I refresh the page,
> >>>> fine. If I change the value to something else, say 3, then it breaks
> >>>> with a org.hibernate.InstantiationException:
> >>>>
> >>>> Cannot instantiate abstract class or interface: 
> >>>> com.mypackage.data.Listing
> >>>>
> >>>> If I change the value back to 2, the same thing happens! "Listing" is an
> >>>> abstract class mapped as a super class entity via:
> >>>>
> >>>> @Entity
> >>>> @Inheritance(strategy = InheritanceType.JOINED)
> >>>>
> >>>> Any clue what's going on here? Two things are perplexing me:
> >>>>
> >>>> 1) Querying mapped super classes is legal, and I in fact the same thing
> >>>> on my Index page with no problem.
> >>>> 2) The query works the first time, but as soon as the id changes it is
> >>>> forever broken until I restart the container.
> >>>>
> >>>> Thanks in advance!
> >>>>
> >>>> chris
> >>>>
> >>>>   
> >>>>         
> >
> >
> > ---------------------------------------------------------------------
> > 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]

Reply via email to