Hello,
I'm trying to use OJB through JDO and have a problem with basic
inheritance between two persitent class :
I get "
class entities.Statute2 overrides final method .
java.lang.VerifyError: class entities.Statute2 overrides final
method .
at java.lang.ClassLoader.defineClass0(Native Method)
... "
at runtime when the classloader loads the Statute2 class.
Statute2 inherits from Statute (this actually a test drive :-) Here is
my code :
>>>>>>>>>>>>>> Statute :
package entities;
public class Statute {
protected int id;
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
/** default constructor */
public Statute() {}
/** full constructor */
public Statute(java.lang.String name) {
this.name = name;
}
protected java.lang.String name;
public java.lang.String getName() {
return this.name;
}
public void setName(java.lang.String name) {
this.name = name;
}
public String toString() {
return "Statute "+this.name+" (id = "+this.id+")";
}
}
>>>>>>>>>>>>>> Statute 2 :
package entities;
public class Statute2 extends Statute {
/** default constructor */
public Statute2() {}
/** full constructor */
public Statute2(java.lang.String name, String name2) {
this.name = name;
this.name2 = name2;
}
protected java.lang.String name2;
public java.lang.String getName2() {
return this.name2;
}
public void setName2(java.lang.String name2) {
this.name2 = name2;
}
public String toString() {
return "Statute "+this.name+" "+this.name2+" (id = "+this.id+")";
}
}
repository_user.xml :
<class-descriptor class="entities.Statute" table="STATUTE">
<extent-class class-ref="entities.Statute2" />
<field-descriptor name="id" column="ID" jdbc-type="INTEGER"
primarykey="true" autoincrement="true"/>
<field-descriptor name="name" column="NAME" jdbc-type="VARCHAR"/>
</class-descriptor>
<class-descriptor class="entities.Statute2" table="STATUTE2">
<field-descriptor name="id" column="ID" jdbc-type="INTEGER"
primarykey="true" autoincrement="true"/>
<field-descriptor name="name" column="NAME" jdbc-type="VARCHAR"/>
<field-descriptor name="name2" column="NAME2" jdbc-type="VARCHAR"/>
</class-descriptor>
entities.jdo (partial) :
...
<class name="Statute">
<extension vendor-name="ojb" key="table" value="Statute"/>
<field name="id">
<extension vendor-name="ojb" key="column" value="id"/>
</field>
<field name="name">
<extension vendor-name="ojb" key="column" value="name"/>
</field>
</class>
<class name="Statute2">
<extension vendor-name="ojb" key="table" value="Statute2"/>
<field name="name2">
<extension vendor-name="ojb" key="column" value="name2"/>
</field>
</class>
...
sql for table creation (postgresql) :
CREATE TABLE STATUTE (
ID INT PRIMARY KEY,
NAME TEXT
);
CREATE TABLE STATUTE2 (
ID INT PRIMARY KEY,
NAME TEXT,
NAME2 TEXT
);
I suppose I did something wrong but can't figure what.
I already tried to enhance only one of the two, to remove id and name
from Statute2 class-desciptor entry but...
Can someone light my way to the wonderful world of JDO ?
Thanks,
Cédric
--
Societe Code Lutin
2, rue Robert le Ricolais
BP 20446 44304 NANTES CEDEX 3
Tel 02.40.50.29.28, Fax 02.40.93.99.21
http://www.codelutin.com
--------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]