Hello to OJB-Users,

I started to learn how to use OJB with a little example, but here i have a problem. Maybe anyone could help.

I have 3 classes with a few attributes:
abstract class benutzer;
   - string name
   - string vname
   - int benutzer_id
   - string passwort
   - string benutzername
   - string ojbConcreteClass
class stduser extends benutzer;
   - no extra attributes yet
class admin extends benutzer;
   - bollean benutzer;

I want to map the conrete objects stduser and admin to the 3 tables: benutzer, stduser and admin. In table benutzer, i want to have the attributes of benutzer and in stduser/admin the special attributes.

Everything works fine if benutzer is not abstract. If it is set to abstract i got the following error if i want to store a stduser:

Can't create new base class object for 'de.ba.studi.chtp.model.Benutzer'

Maybe anybody could help. I can't find a docu how to map classes extended from 
a abstract class.


Thanks, Thomas

Here my mapping xml:
<class-descriptor
   class="de.ba.studi.chtp.model.Benutzer"
   table="Benutzer"

   <extent-class class-ref="de.ba.studi.chtp.model.Admin" />
   <extent-class class-ref="de.ba.studi.chtp.model.Stduser" />
   <field-descriptor
       name="benutzer_id"
       column="benutzer_id"
       jdbc-type="INTEGER"
       autoincrement="true"
       primarykey="true"
   />
   <field-descriptor
       name="name"
       column="name"
       jdbc-type="VARCHAR"
       length="254"
   />
   <field-descriptor
       name="vname"
       column="vname"
       jdbc-type="VARCHAR"
       length="254"
   />
   <field-descriptor
       name="passwort"
       column="passwort"
       jdbc-type="VARCHAR"
       length="254"
   />
   <field-descriptor
       name="benutzername"
       column="benutzername"
       jdbc-type="VARCHAR"
       length="254"
   />
   <field-descriptor
       name="ojbConcreteClass"
       column="CLASS_NAME"
       jdbc-type="VARCHAR"
   />
</class-descriptor>

<class-descriptor
   class="de.ba.studi.chtp.model.Admin"
   table="Admin"

   <field-descriptor
       name="benutzer_id"
       column="benutzer_id"
       jdbc-type="INTEGER"
       primarykey="true"
       autoincrement="true"
   />
   <field-descriptor
       name="produkte"
       column="produkte"
       jdbc-type="BIT"
   />
   <field-descriptor
       name="benutzer"
       column="benutzer"
       jdbc-type="BIT"
   />
   <reference-descriptor name="super"
       class-ref="de.ba.studi.chtp.model.Benutzer"
       auto-retrieve="true"
       auto-update="true"
       auto-delete="true"
   />
</class-descriptor>

<class-descriptor
   class="de.ba.studi.chtp.model.Stduser"
   table="Stduser"

   <field-descriptor
       name="benutzer_id"
       column="benutzer_id"
       jdbc-type="INTEGER"
       primarykey="true"
       autoincrement="true"
   />
   <reference-descriptor name="super"
       class-ref="de.ba.studi.chtp.model.Benutzer"
       auto-retrieve="true"
       auto-update="true"
       auto-delete="true"
   />
</class-descriptor>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to