You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Marc Ende <ml...@e-beyond.de> on 2006/03/12 23:15:31 UTC

tapestry hibernate Object was not of the specified subclass...

Hi there,

I've got a little problem, where I find no starting point to search for:

There is an entity from hibernate wich has got an OneToMany relationship 
called objektBilder. This relationship should return
an List<objektBild>. Which it does normally (the used dataset works 
correctly in an standalone app). But if I try to use it in
Tapestry I got an Error that it does not contain the correct Object. But 
on line 9 hiberate tells correctly about an entity with the correct 
Class and ID.


23:01:42,625 DEBUG [AbstractBatcher] preparing statement
23:01:42,625 DEBUG [StringType] binding 
'402882fb09f078fc0109f07a1b290001' to parameter: 1
23:01:42,625 DEBUG [AbstractBatcher] about to open ResultSet (open 
ResultSets: 0, globally: 0)
23:01:42,625 DEBUG [Loader] result set contains (possibly empty) 
collection: 
[isi.as.hib.objekt.Objekt.objektBilder#402882fb09f078fc0109f07a1b290001]
23:01:42,625 DEBUG [CollectionLoadContext] uninitialized collection: 
initializing
23:01:42,625 DEBUG [Loader] processing result set
23:01:42,625 DEBUG [Loader] result set row: 0
23:01:42,625 DEBUG [StringType] returning 
'402882fb09f078fc0109f07a87dd0003' as column: bilderId3_0_
23:01:42,625 DEBUG [Loader] result row: 
EntityKey[isi.as.hib.bilder.ObjektBild#402882fb09f078fc0109f07a87dd0003]
23:01:42,625 DEBUG [AbstractBatcher] about to close ResultSet (open 
ResultSets: 1, globally: 1)
23:01:42,625 DEBUG [AbstractBatcher] about to close PreparedStatement 
(open PreparedStatements: 1, globally: 1)
23:01:42,625 DEBUG [AbstractBatcher] closing statement
23:01:42,625 DEBUG [RequestCycle] Removing attribute 
org.apache.tapestry.Form
23:01:42,625 DEBUG [RequestCycle] Removing attribute 
org.apache.tapestry.PageRenderSupport
23:01:42,625 DEBUG [AbstractEngine] Uncaught exception
org.apache.hivemind.ApplicationRuntimeException: Object with id: 
402882fb09f078fc0109f07a87dd0003 was not of the specified subclass: 
isi.as.hib.bilder.ObjektBild (loaded object was of wrong class) 
[context:/WEB-INF/Admin/Objekte/Miete/WohnungNeu.page, line 6, column 70]
    at 
org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:380)
    at 
org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:71)
    at 
$ResponseRenderer_109f079235d.renderResponse($ResponseRenderer_109f079235d.java)
    at 
org.apache.tapestry.engine.DirectService.service(DirectService.java:137)
    at $IEngineService_109f07923c9.service($IEngineService_109f07923c9.java)

My WohnungNeu.page-File looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE page-specification PUBLIC
  "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd">
   
<page-specification class="isi.pages.admin.objekte.miete.WohnungNeu">

    <description>add a description</description>
    <property name="objbild" />
    <property name="grbild"/>
    <property name="teaserBild"/>

</page-specification>
But the property from objbild (wich should be the property) didn't 
accept an class attribute anymore, so I couldn't specify the type 
explicitly.

Has anybody an idea? Or is there any good tapestry - hibernate tutorial 
on the internet?

yours

marc

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: tapestry hibernate Object was not of the specified subclass...

Posted by Marc Ende <ml...@e-beyond.de>.
Hi Sam,

I've found the point. It's hibernate. It forgets that associations has 
got an discriminator-column. So it loads (if you've got two
associations to different subclasses on the same table) the same entity 
twice. But the second time it remembers the first and
so it results in a WrongClassException...

marc

Sam Gendler schrieb:
> There's mention of this problem in the hibernate docs.  It has to do
> with the way hibernate uses proxy classes and object inheritance.  The
> long and the short of it is that in order to get things working
> correctly, you need to make your domain objects implement interfaces
> and then tell hibernate that the mapping file describes the interface,
> but to instantiate classes of type InterfaceImpl.
>
> Here's the relevant page, which I only happened to stumble across
> today.  I have no direct experience with this problem, so I can't give
> you a detailed description of the solution.  Sorry.
>
> Section 19.1.3 is the one that interests you, I think.
>
> http://www.hibernate.org/hib_docs/v3/reference/en/html/performance.html
>
> --sam
>
>
> On 3/12/06, Marc Ende <ml...@e-beyond.de> wrote:
>   
>> Hi Andreas,
>>
>> I've tried the targetEntity but it doesn't solve the problem. What I've
>> forgotten to mention
>> is that the class "WohnungNeu" extends the class "Objekt".
>>
>> The used OneToOne relationship works perfectly.
>>
>> I've found a startingpoint. It seems to be hibernate not tapestry...
>>
>> Thanks for your help Andreas!
>>
>> Marc
>>
>> Andreas Bulling schrieb:
>>     
>>> Hi Marc,
>>>
>>> I'm using annotations so perhaps you have to take a look at the
>>> hibernate documentation to see how to define the same in the xml
>>> mapping file.
>>>
>>> Perhaps you have to define something similar to this:
>>> @ManyToMany(targetEntity = Person.class, mappedBy = "users", cascade = {
>>>                       CascadeType.PERSIST, CascadeType.REMOVE })
>>>       public List<Person> getPersons()
>>>       {
>>>               return persons;
>>>       }
>>>
>>> The important part is the "targetEntity" definition.
>>>
>>> I hope this helps.
>>>
>>>
>>>       
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>>
>>
>>     
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: tapestry hibernate Object was not of the specified subclass...

Posted by Marc Ende <ml...@e-beyond.de>.
Okay, then I can give the solution for my hibernate problem a try.
Therefore I need the interfaces
and I was not sure how tapestry would handle them.

Thanks!

marc

Sam Gendler schrieb:
> Well, Tapestry shouldn't care whether a bean is implementing an
> interface or not.  A bean is a bean, and if it has a property with the
> specified name, then it will be able to use it.  Tapestry rarely asks
> for the class of a user defined object at all.  NO need to include the
> Interface name.
>
> If I have an object called CatImpl, which implements Cat, and Cat
> describes a method called getName(), then I can apply the ognl
> expression "name" to any object which implements Cat, no matter what
> the underlying implementation class actually is. That's the whole
> reason behind the concept of an interface - it is a contract that says
> that no matter what the type of the object, it is guaranteed to
> provide a certain set of methods. Since hibernate objects will be
> guaranteed to implement your designated interface, no matter what the
> actual implementation is, you shouldn't have any trouble.
>
> --sam
>
>
> On 3/13/06, Marc Ende <ml...@e-beyond.de> wrote:
>   
>> Hi Sam,
>>
>> thanks for your Help... It looks like it is my problem. I'll try it on
>> the evening...
>>
>> But this solutions produces the next question:
>>
>> Can tapestry handle if I provide an interface instead of a "normal" bean
>> for values?
>> For example:
>> <input type="text" jwcid="@TextField" value="ognl:INterface.title"/>
>>
>> Marc
>>
>> Sam Gendler schrieb:
>>     
>>> There's mention of this problem in the hibernate docs.  It has to do
>>> with the way hibernate uses proxy classes and object inheritance.  The
>>> long and the short of it is that in order to get things working
>>> correctly, you need to make your domain objects implement interfaces
>>> and then tell hibernate that the mapping file describes the interface,
>>> but to instantiate classes of type InterfaceImpl.
>>>
>>> Here's the relevant page, which I only happened to stumble across
>>> today.  I have no direct experience with this problem, so I can't give
>>> you a detailed description of the solution.  Sorry.
>>>
>>> Section 19.1.3 is the one that interests you, I think.
>>>
>>> http://www.hibernate.org/hib_docs/v3/reference/en/html/performance.html
>>>
>>> --sam
>>>
>>>
>>> On 3/12/06, Marc Ende <ml...@e-beyond.de> wrote:
>>>
>>>       
>>>> Hi Andreas,
>>>>
>>>> I've tried the targetEntity but it doesn't solve the problem. What I've
>>>> forgotten to mention
>>>> is that the class "WohnungNeu" extends the class "Objekt".
>>>>
>>>> The used OneToOne relationship works perfectly.
>>>>
>>>> I've found a startingpoint. It seems to be hibernate not tapestry...
>>>>
>>>> Thanks for your help Andreas!
>>>>
>>>> Marc
>>>>
>>>> Andreas Bulling schrieb:
>>>>
>>>>         
>>>>> Hi Marc,
>>>>>
>>>>> I'm using annotations so perhaps you have to take a look at the
>>>>> hibernate documentation to see how to define the same in the xml
>>>>> mapping file.
>>>>>
>>>>> Perhaps you have to define something similar to this:
>>>>> @ManyToMany(targetEntity = Person.class, mappedBy = "users", cascade = {
>>>>>                       CascadeType.PERSIST, CascadeType.REMOVE })
>>>>>       public List<Person> getPersons()
>>>>>       {
>>>>>               return persons;
>>>>>       }
>>>>>
>>>>> The important part is the "targetEntity" definition.
>>>>>
>>>>> I hope this helps.
>>>>>
>>>>>
>>>>>
>>>>>           
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
>>>> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>>>>
>>>>
>>>>
>>>>         
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>>>
>>>
>>>       
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>>
>>
>>     
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: tapestry hibernate Object was not of the specified subclass...

Posted by Sam Gendler <sg...@ideasculptor.com>.
Well, Tapestry shouldn't care whether a bean is implementing an
interface or not.  A bean is a bean, and if it has a property with the
specified name, then it will be able to use it.  Tapestry rarely asks
for the class of a user defined object at all.  NO need to include the
Interface name.

If I have an object called CatImpl, which implements Cat, and Cat
describes a method called getName(), then I can apply the ognl
expression "name" to any object which implements Cat, no matter what
the underlying implementation class actually is. That's the whole
reason behind the concept of an interface - it is a contract that says
that no matter what the type of the object, it is guaranteed to
provide a certain set of methods. Since hibernate objects will be
guaranteed to implement your designated interface, no matter what the
actual implementation is, you shouldn't have any trouble.

--sam


On 3/13/06, Marc Ende <ml...@e-beyond.de> wrote:
> Hi Sam,
>
> thanks for your Help... It looks like it is my problem. I'll try it on
> the evening...
>
> But this solutions produces the next question:
>
> Can tapestry handle if I provide an interface instead of a "normal" bean
> for values?
> For example:
> <input type="text" jwcid="@TextField" value="ognl:INterface.title"/>
>
> Marc
>
> Sam Gendler schrieb:
> > There's mention of this problem in the hibernate docs.  It has to do
> > with the way hibernate uses proxy classes and object inheritance.  The
> > long and the short of it is that in order to get things working
> > correctly, you need to make your domain objects implement interfaces
> > and then tell hibernate that the mapping file describes the interface,
> > but to instantiate classes of type InterfaceImpl.
> >
> > Here's the relevant page, which I only happened to stumble across
> > today.  I have no direct experience with this problem, so I can't give
> > you a detailed description of the solution.  Sorry.
> >
> > Section 19.1.3 is the one that interests you, I think.
> >
> > http://www.hibernate.org/hib_docs/v3/reference/en/html/performance.html
> >
> > --sam
> >
> >
> > On 3/12/06, Marc Ende <ml...@e-beyond.de> wrote:
> >
> >> Hi Andreas,
> >>
> >> I've tried the targetEntity but it doesn't solve the problem. What I've
> >> forgotten to mention
> >> is that the class "WohnungNeu" extends the class "Objekt".
> >>
> >> The used OneToOne relationship works perfectly.
> >>
> >> I've found a startingpoint. It seems to be hibernate not tapestry...
> >>
> >> Thanks for your help Andreas!
> >>
> >> Marc
> >>
> >> Andreas Bulling schrieb:
> >>
> >>> Hi Marc,
> >>>
> >>> I'm using annotations so perhaps you have to take a look at the
> >>> hibernate documentation to see how to define the same in the xml
> >>> mapping file.
> >>>
> >>> Perhaps you have to define something similar to this:
> >>> @ManyToMany(targetEntity = Person.class, mappedBy = "users", cascade = {
> >>>                       CascadeType.PERSIST, CascadeType.REMOVE })
> >>>       public List<Person> getPersons()
> >>>       {
> >>>               return persons;
> >>>       }
> >>>
> >>> The important part is the "targetEntity" definition.
> >>>
> >>> I hope this helps.
> >>>
> >>>
> >>>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> >> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> >>
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: tapestry hibernate Object was not of the specified subclass...

Posted by Marc Ende <ml...@e-beyond.de>.
Hi Sam,

thanks for your Help... It looks like it is my problem. I'll try it on
the evening...

But this solutions produces the next question:

Can tapestry handle if I provide an interface instead of a "normal" bean
for values?
For example:
<input type="text" jwcid="@TextField" value="ognl:INterface.title"/>

Marc

Sam Gendler schrieb:
> There's mention of this problem in the hibernate docs.  It has to do
> with the way hibernate uses proxy classes and object inheritance.  The
> long and the short of it is that in order to get things working
> correctly, you need to make your domain objects implement interfaces
> and then tell hibernate that the mapping file describes the interface,
> but to instantiate classes of type InterfaceImpl.
>
> Here's the relevant page, which I only happened to stumble across
> today.  I have no direct experience with this problem, so I can't give
> you a detailed description of the solution.  Sorry.
>
> Section 19.1.3 is the one that interests you, I think.
>
> http://www.hibernate.org/hib_docs/v3/reference/en/html/performance.html
>
> --sam
>
>
> On 3/12/06, Marc Ende <ml...@e-beyond.de> wrote:
>   
>> Hi Andreas,
>>
>> I've tried the targetEntity but it doesn't solve the problem. What I've
>> forgotten to mention
>> is that the class "WohnungNeu" extends the class "Objekt".
>>
>> The used OneToOne relationship works perfectly.
>>
>> I've found a startingpoint. It seems to be hibernate not tapestry...
>>
>> Thanks for your help Andreas!
>>
>> Marc
>>
>> Andreas Bulling schrieb:
>>     
>>> Hi Marc,
>>>
>>> I'm using annotations so perhaps you have to take a look at the
>>> hibernate documentation to see how to define the same in the xml
>>> mapping file.
>>>
>>> Perhaps you have to define something similar to this:
>>> @ManyToMany(targetEntity = Person.class, mappedBy = "users", cascade = {
>>>                       CascadeType.PERSIST, CascadeType.REMOVE })
>>>       public List<Person> getPersons()
>>>       {
>>>               return persons;
>>>       }
>>>
>>> The important part is the "targetEntity" definition.
>>>
>>> I hope this helps.
>>>
>>>
>>>       
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>>
>>
>>     
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: tapestry hibernate Object was not of the specified subclass...

Posted by Sam Gendler <sg...@ideasculptor.com>.
There's mention of this problem in the hibernate docs.  It has to do
with the way hibernate uses proxy classes and object inheritance.  The
long and the short of it is that in order to get things working
correctly, you need to make your domain objects implement interfaces
and then tell hibernate that the mapping file describes the interface,
but to instantiate classes of type InterfaceImpl.

Here's the relevant page, which I only happened to stumble across
today.  I have no direct experience with this problem, so I can't give
you a detailed description of the solution.  Sorry.

Section 19.1.3 is the one that interests you, I think.

http://www.hibernate.org/hib_docs/v3/reference/en/html/performance.html

--sam


On 3/12/06, Marc Ende <ml...@e-beyond.de> wrote:
> Hi Andreas,
>
> I've tried the targetEntity but it doesn't solve the problem. What I've
> forgotten to mention
> is that the class "WohnungNeu" extends the class "Objekt".
>
> The used OneToOne relationship works perfectly.
>
> I've found a startingpoint. It seems to be hibernate not tapestry...
>
> Thanks for your help Andreas!
>
> Marc
>
> Andreas Bulling schrieb:
> > Hi Marc,
> >
> > I'm using annotations so perhaps you have to take a look at the
> > hibernate documentation to see how to define the same in the xml
> > mapping file.
> >
> > Perhaps you have to define something similar to this:
> > @ManyToMany(targetEntity = Person.class, mappedBy = "users", cascade = {
> >                       CascadeType.PERSIST, CascadeType.REMOVE })
> >       public List<Person> getPersons()
> >       {
> >               return persons;
> >       }
> >
> > The important part is the "targetEntity" definition.
> >
> > I hope this helps.
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: tapestry hibernate Object was not of the specified subclass...

Posted by Marc Ende <ml...@e-beyond.de>.
Hi Andreas,

I've tried the targetEntity but it doesn't solve the problem. What I've 
forgotten to mention
is that the class "WohnungNeu" extends the class "Objekt".

The used OneToOne relationship works perfectly.

I've found a startingpoint. It seems to be hibernate not tapestry...

Thanks for your help Andreas!

Marc

Andreas Bulling schrieb:
> Hi Marc,
>
> I'm using annotations so perhaps you have to take a look at the
> hibernate documentation to see how to define the same in the xml
> mapping file. 
>
> Perhaps you have to define something similar to this:
> @ManyToMany(targetEntity = Person.class, mappedBy = "users", cascade = {
> 			CascadeType.PERSIST, CascadeType.REMOVE })
> 	public List<Person> getPersons()
> 	{
> 		return persons;
> 	}
>
> The important part is the "targetEntity" definition.
>
> I hope this helps.
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: tapestry hibernate Object was not of the specified subclass...

Posted by Andreas Bulling <sp...@phoenix.hadiko.de>.
Hi Marc,

I'm using annotations so perhaps you have to take a look at the
hibernate documentation to see how to define the same in the xml
mapping file. 

Perhaps you have to define something similar to this:
@ManyToMany(targetEntity = Person.class, mappedBy = "users", cascade = {
			CascadeType.PERSIST, CascadeType.REMOVE })
	public List<Person> getPersons()
	{
		return persons;
	}

The important part is the "targetEntity" definition.

I hope this helps.

Andreas

On 12. Mär 2006 - 23:15:31, Marc Ende wrote:
| Hi there,
| 
| I've got a little problem, where I find no starting point to search for:
| 
| There is an entity from hibernate wich has got an OneToMany relationship 
| called objektBilder. This relationship should return
| an List<objektBild>. Which it does normally (the used dataset works 
| correctly in an standalone app). But if I try to use it in
| Tapestry I got an Error that it does not contain the correct Object. But 
| on line 9 hiberate tells correctly about an entity with the correct 
| Class and ID.
| 
| 
| 23:01:42,625 DEBUG [AbstractBatcher] preparing statement
| 23:01:42,625 DEBUG [StringType] binding 
| '402882fb09f078fc0109f07a1b290001' to parameter: 1
| 23:01:42,625 DEBUG [AbstractBatcher] about to open ResultSet (open 
| ResultSets: 0, globally: 0)
| 23:01:42,625 DEBUG [Loader] result set contains (possibly empty) 
| collection: 
| [isi.as.hib.objekt.Objekt.objektBilder#402882fb09f078fc0109f07a1b290001]
| 23:01:42,625 DEBUG [CollectionLoadContext] uninitialized collection: 
| initializing
| 23:01:42,625 DEBUG [Loader] processing result set
| 23:01:42,625 DEBUG [Loader] result set row: 0
| 23:01:42,625 DEBUG [StringType] returning 
| '402882fb09f078fc0109f07a87dd0003' as column: bilderId3_0_
| 23:01:42,625 DEBUG [Loader] result row: 
| EntityKey[isi.as.hib.bilder.ObjektBild#402882fb09f078fc0109f07a87dd0003]
| 23:01:42,625 DEBUG [AbstractBatcher] about to close ResultSet (open 
| ResultSets: 1, globally: 1)
| 23:01:42,625 DEBUG [AbstractBatcher] about to close PreparedStatement 
| (open PreparedStatements: 1, globally: 1)
| 23:01:42,625 DEBUG [AbstractBatcher] closing statement
| 23:01:42,625 DEBUG [RequestCycle] Removing attribute 
| org.apache.tapestry.Form
| 23:01:42,625 DEBUG [RequestCycle] Removing attribute 
| org.apache.tapestry.PageRenderSupport
| 23:01:42,625 DEBUG [AbstractEngine] Uncaught exception
| org.apache.hivemind.ApplicationRuntimeException: Object with id: 
| 402882fb09f078fc0109f07a87dd0003 was not of the specified subclass: 
| isi.as.hib.bilder.ObjektBild (loaded object was of wrong class) 
| [context:/WEB-INF/Admin/Objekte/Miete/WohnungNeu.page, line 6, column 70]
|    at 
| org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:380)
|    at 
| org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:71)
|    at 
| $ResponseRenderer_109f079235d.renderResponse($ResponseRenderer_109f079235d.java)
|    at 
| org.apache.tapestry.engine.DirectService.service(DirectService.java:137)
|    at $IEngineService_109f07923c9.service($IEngineService_109f07923c9.java)
| 
| My WohnungNeu.page-File looks like this:
| 
| <?xml version="1.0" encoding="UTF-8"?>
| <!DOCTYPE page-specification PUBLIC
|  "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
|  "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd">
|   
| <page-specification class="isi.pages.admin.objekte.miete.WohnungNeu">
| 
|    <description>add a description</description>
|    <property name="objbild" />
|    <property name="grbild"/>
|    <property name="teaserBild"/>
| 
| </page-specification>
| But the property from objbild (wich should be the property) didn't 
| accept an class attribute anymore, so I couldn't specify the type 
| explicitly.
| 
| Has anybody an idea? Or is there any good tapestry - hibernate tutorial 
| on the internet?
| 
| yours
| 
| marc

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org