Hi Jonathan,

Here is my dispatcher. As you can see it's in a very early stage so it's
both small and messy. The query is being done via:
session.load(Listing.class, Long.parseLong(sListingId));

It was being done via createQuery and uniqueResult, with the same results.

public class BinaryFileDispatcher implements Dispatcher {
       
        private Session session;
       
        public BinaryFileDispatcher(Session session) {
                this.session = session;
        }
       
        public boolean dispatch(Request request, Response response)
                        throws IOException {
               
                String sListingId = request.getParameter("limg");
                if(sListingId== null)
                        return false;
               
                System.out.println("BinaryFileDispatcher.dispatch() -- "
+ sListingId);
                Listing listing = (Listing)session.load(Listing.class,
Long.parseLong(sListingId));
               
                response.setHeader("Content-Type", "text/html");
               
                String test = "<html><body><h1>" + listing.getTitle() +
"</h1></body></html>";
                response.setContentLength(test.length());
                response.getPrintWriter("text/html").append(test).flush();
                return true;
        }

}


Jonathan Barker wrote:
> Post your query and load code.
>
>   
>> -----Original Message-----
>> From: Chris Lewis [mailto:[EMAIL PROTECTED]
>> Sent: Thursday, July 24, 2008 13:16
>> To: Tapestry users
>> Subject: Re: T5.0.14-SNAPSHOT: strange behavior Dispatcher when using a
>> Session
>>
>> It can't be a data issue. The records are persisted via hibernate and
>> work consistently as expected in pages. Like I said, I query the same
>> table to which the abstract class is mapped in my index page with no
>> problem at all. I also said that it works in the dispatcher for the
>> first entity I query, but any subsequent query to a _different_ entity
>> throws that exception. The query is also just a read (select). Any other
>> ideas?
>>
>> thanks
>>
>> Yunhua Sang wrote:
>>     
>>> It sounds more like a data issue, check your data in database carefully.
>>>
>>> Yunhua
>>>
>>> On Wed, Jul 23, 2008 at 11:18 PM, Chris Lewis
>>>       
>> <[EMAIL PROTECTED]> 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
>>>>
>>>> --
>>>> http://thegodcode.net
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> 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]
>>>
>>>
>>>
>>>       
>> --
>> http://thegodcode.net
>>     
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>   

-- 
http://thegodcode.net

Reply via email to