Hi,
which version of OJB do you use?
Schmidt wrote:
Hi,
I'm facing a hard time trying to fix a problem in my app. Consider the
floowing class hierarchy:
class Project {..}
class ChildProject extends Project {..}
class GrandChildProject extends ChildProject {..}
How do you set the ojbConcreteClass attribute in your java object?
All these classes are mapped to the same table: PROJECT_TABLE
Here are the mappings:
<class-descriptor table="PROJECT_TABLE" class="br.com.xxx.model.Project">
<extent-class class-ref="br.com.xxx.model.ChildProject" />
...some fields here...
<field-descriptor name="ojbConcreteClass" column="CLASS_NAME"
jdbc-type="VARCHAR" />
</class-descriptor>
<class-descriptor table="PROJECT_TABLE"
class="br.com.xxx.model.ChildProject">
<extent-class class-ref="br.com.xxx.model.GrandChildProject" />
...some fields here...
<field-descriptor name="ojbConcreteClass" column="CLASS_NAME"
jdbc-type="VARCHAR" />
</class-descriptor>
<class-descriptor table="PROJECT_TABLE"
class="br.com.xxx.model.GrandChildProject ">
...some fields here...
<field-descriptor name="ojbConcreteClass" column="CLASS_NAME"
jdbc-type="VARCHAR" />
</class-descriptor>
Somehow when I search for GrandChildProject objects, OJB returns a
ChildProject reference. This ends up in a ClassCastException. Is there
anything wrong in the mappings or strategy used in this example?
The mapping seems ok.
regards,
Armin
Thanks in advance!
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]