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,
Cdric
--
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]