Hello,


I've been looking around FOREVER for a free jdo implementaiton I can use to begin testing jdo and how it might fit in to our application.

The closest thing I've found that meets my needs is the ojb project from apache. I was wondering if anyone could clarify some things for me. I tried looking in the archives for this, but the archive listed for this mailing list on apache's website doesn't work (so please excuse this if its been answered already).

I MUST be able to have the following features in order to even think about using jdo - otherwise, I'm stuck with crappy entity beans and no inheritance :(

Please note this email is intended to be viewed in a fixed-width font (courier) for code examples.

1) I require Vertical Inheritance:

for example in sql:

table person
(
person_id char(36) primary key, -- this is a UUID/GUID
name varchar(50),
ssn varchar(20)
);


table employee
(
employee_id char(36)
foreign key references person(person_id)
primary key,
employee_num integer,
hire_date date
);


This would translate to the following java classes:

public class Person
{
private String personId;
private String name;
private String ssn;


//getters/setters for all of the above properties...
}


public class Employee extends Person
{
private String employeeId; //this is the same as its inherited personId
//because of primary key/foreign key
//constraints. That is,
// this.employeeId.equals(this.personId)
//always returns true
private int employeeNum;
private Date hireDate;


//getters/setters for the above properties....
}



Now, I'm sure almost all of the ojb folks are well aware of this vertical mapping strategy.


Can I do this with ojb's JDO implementation? And if not, is there something I can do to ojb to get it to work in this manner?
The most important thing here is that the underlying table structures are not adjusted/modified/added-to in any way, and that the cooresponding java classes are not adjusted/modified/added-to in any way. I.E. JDO should be fully transparent.


The reason i'm not considering tjdo (http://tjdo.sourceforge.net) is becuase I believe they don't support vertical inheritance.

In fact, I might even be open to OJB or other jdo implementation creating its own "jdo management table" inside the database....as long as it doesn't mess with the user-defined tables and supports vertical inheritance.

2) I don't want a JDO implementation messing with byte code. I feel this is extremely poor design, as jvm's and jvm optimizations are certain to change over time. There is a whole other list of why I think this is a horrible idea, which I won't get in to now. Reflection/Introspection to determine class functionality is a much better way to go.

3) I don't want a JDO implementation that requires I, as a developer, to "know" about wrapper classes, or importing PersistanceCapable interfaces and such. I want true Transparency. I don't care if the implemenation makes its own wrappers and does what it wants. As long as I can code my business objects without implementing jdo specific code, I'm happy. (I understand that I'll used jdo code for doing transactions, persisting objects, and querying....I'm just talking about class definition only).

Can anyone clarify OJB's stand on these issues?

I understand there are commercial JDO implementations that address these issues, but I need something for development and testing that is free....I can't afford the sometimes exuberant costs of $1000 - $6000 (per developer) licensing fees.

Thanks so much for reading....any help in pointing me in the right direction is greatly appreciated.

Les Hazlewood

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



Reply via email to