Hi,
I'm trying to do the following 1:n mapping. Class Project should have a vector
of n Resource objects, while each Resource object should know it's Project object.
Storing objects works fine, the references in the resource objects to their project
objects
are placed by OJB.
What does not work is retrieving a Project object and accessing the Vector with
Resource objects
(only if I set "auto retrieve" to "false").
I always get an SQL exception which says that column "project_id" could not be found
(although it
exists in the database):
org.apache.ojb.broker.PersistenceBrokerException:
org.apache.ojb.broker.PersistenceBrokerSQLException:
java.sql.SQLException: Column not found: Unknown column
'project_id' in 'where clause'
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:211)
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:223)
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1205)
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:331)
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:331)
...
The mapping looks like this:
----------------------------
public class Project {
...
private Vector resources;
}
public class Resource {
...
private int project_id;
Project project;
}
The repository looks like this:
-----------------------------------------------
<class-descriptor
class="au.edu.latrobe.cs.ogds.Project"
table="PROJECT"
>
<field-descriptor
name="id"
column="ID"
jdbc-type="INTEGER"
primarykey="true"
autoincrement="true"
/>
...
<collection-descriptor
name="resources"
element-class-ref="au.edu.latrobe.cs.ogds.Resource"
auto-retrieve="true"
auto-update="true"
auto-delete="true"
>
<inverse-foreignkey field-ref="project_id"/>
</collection-descriptor>
</class-descriptor>
---------------------------------------------------------
<!-- Definitions for Resource -->
<class-descriptor
class="au.edu.latrobe.cs.ogds.Resource"
table="RESOURCE"
>
<field-descriptor
name="id"
column="ID"
jdbc-type="INTEGER"
primarykey="true"
autoincrement="true"
/>
...
<field-descriptor
name="project_id"
column="PROJECT_ID"
jdbc-type="INTEGER"
/>
<reference-descriptor
name="project"
class-ref="au.edu.latrobe.cs.ogds.Project"
auto-retrieve="true"
auto-update="true"
auto-delete="true">
<foreignkey field-ref="project_id"/>
</reference-descriptor>
</class-descriptor>
------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]