If I do this:
ClassA a = getAnA(); OQLQuery query = odmg.newOQLQuery(); query.create( "select all from "+ ClassB.class.getName+ " where ClassA = $0" ); query.bind(a); query.execute();
I get an error that ClassA isn't serializable. If I make it serializable, I get a SQL exception because OJB is passing the serialized form of a as the bound value.
I'm generating my repository mappings with the xDoclet module and I'm pretty sure they're right (see below). The same code is working fine in another project (though using a much older version of OJB).
Here's what's in the repository_user.xml for the two classes:
<class-descriptor class="ClassA" table="ClassA" > <field-descriptor name="ID" column="ID" jdbc-type="INTEGER" primarykey="true" nullable="false" indexed="true" access="anonymous" /> ... </class-descriptor>
<class-descriptor class="ClassB" table="ClassB" > <field-descriptor name="ID" column="ID" jdbc-type="INTEGER" primarykey="true" nullable="false" indexed="true" access="anonymous" /> <field-descriptor name="CLASSA_ID" column="CLASSA_ID" jdbc-type="INTEGER" nullable="false" access="anonymous" /> ... <reference-descriptor name="ClassA" class-ref="ClassA" > <foreignkey field-ref="CLASSA_ID"/> </reference-descriptor> </class-descriptor>
The error I get is (once I've made ClassA serializable):
java.sql.SQLException: Wrong data type: For input string: "aced0005737200276e65742e68...
I've tried making the primary key column an int property on the class instead of using anonymous access, to no avail. Any idea what I'm doing wrong? (I admit I haven't used OJB in quite a while, so it could something stupid!)
Thanks,
L.
PS, I can post the real repository.xml and all source code if the above is insufficient.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]