Will need to nudge Armin on this, I haven't used joins to map extents before =(
-Brian
On Apr 2, 2004, at 5:41 AM, Keith Rogers wrote:
Could you clarify what you mean by that?
Here is the relevent part of the config file:
<!-- USER --> <class-descriptor class="com.mp.hato.ojb.OJBUser" proxy="dynamic" table="users"> <field-descriptor name="id" column="user_id" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/> <field-descriptor name="username" column="username" jdbc-type="VARCHAR"/> <field-descriptor name="password" column="password" jdbc-type="VARCHAR"/> <field-descriptor name="emailAddress" column="emailAddress" jdbc-type="VARCHAR"/> <field-descriptor name="userLevelId" column="level" jdbc-type="INTEGER"/> <field-descriptor name="userStatusId" column="status" jdbc-type="INTEGER"/>
<reference-descriptor name="userLevel" class-ref="com.mp.hato.ojb.OJBUserLevel" auto-retrieve="true"> <foreignkey field-ref="userLevelId"/> </reference-descriptor>
<reference-descriptor name="userStatus" class-ref="com.mp.hato.ojb.OJBUserStatus" auto-retrieve="true"> <foreignkey field-ref="userStatusId"/> </reference-descriptor> </class-descriptor>
<!-- PERSON --> <class-descriptor class="com.mp.hato.ojb.OJBPerson" proxy="dynamic" table="people"> <field-descriptor name="id" column="user_id" jdbc-type="INTEGER" primarykey="true"/> <field-descriptor name="surname" column="surname" jdbc-type="VARCHAR"/> <field-descriptor name="forename" column="forename" jdbc-type="VARCHAR"/> <field-descriptor name="title" column="title" jdbc-type="VARCHAR"/> <field-descriptor name="preferredName" column="preferredName" jdbc-type="VARCHAR"/> <field-descriptor name="nationalInsuranceNumber" column="nationalInsuranceNumber" jdbc-type="VARCHAR"/> <field-descriptor name="sex" column="sex" jdbc-type="BIT"/> <field-descriptor name="daytimeTelephoneNumber" column="daytimeTelephoneNumber" jdbc-type="VARCHAR"/> <field-descriptor name="eveningTelephoneNumber" column="eveningTelephoneNumber" jdbc-type="VARCHAR"/> <field-descriptor name="mobileTelephoneNumber" column="mobileTelephoneNumber" jdbc-type="VARCHAR"/> <field-descriptor name="jobTitle" column="jobTitle" jdbc-type="VARCHAR"/> <field-descriptor name="driverNumber" column="driverNumber" jdbc-type="VARCHAR"/> <field-descriptor name="nextOfKinTitle" column="nextOfKinTitle" jdbc-type="VARCHAR"/> <field-descriptor name="nextOfKinSurname" column="nextOfKinSurname" jdbc-type="VARCHAR"/> <field-descriptor name="nextOfKinForename" column="nextOfKinForename" jdbc-type="VARCHAR"/> <field-descriptor name="nextOfKinRelationship" column="nextOfKinRelationship" jdbc-type="VARCHAR"/> <field-descriptor name="homeAddressId" column="homeAddress" jdbc-type="INTEGER"/> <field-descriptor name="workAddressId" column="workAddress" jdbc-type="INTEGER"/> <field-descriptor name="nextOfKinAddressId" column="nextOfKinAddress" jdbc-type="INTEGER"/>
<reference-descriptor name="homeAddress" class-ref="com.mp.hato.ojb.OJBAddress" auto-retrieve="true" auto-update="true" auto-delete="true"> <foreignkey field-ref="homeAddressId"/> </reference-descriptor>
<reference-descriptor name="workAddress" class-ref="com.mp.hato.ojb.OJBAddress" auto-retrieve="true" auto-update="true" auto-delete="true"> <foreignkey field-ref="workAddressId"/> </reference-descriptor>
<reference-descriptor name="nextOfKinAddress" class-ref="com.mp.hato.ojb.OJBAddress" auto-retrieve="true" auto-update="true" auto-delete="true"> <foreignkey field-ref="nextOfKinAddressId"/> </reference-descriptor>
<reference-descriptor name="super" class-ref="com.mp.hato.ojb.OJBUser" auto-retrieve="true" auto-update="true" auto-delete="true"> <foreignkey field-ref="id"/> </reference-descriptor>
<collection-descriptor name="qualifications" element-class-ref="com.mp.hato.ojb.OJBQualification" auto-insert="true" auto-update="true"> <inverse-foreignkey field-ref="userId"/> </collection-descriptor> </class-descriptor>
<!-- STUDENT --> <class-descriptor class="com.mp.hato.ojb.OJBStudent" table="students"> <field-descriptor name="id" column="user_id" jdbc-type="INTEGER" primarykey="true"/> <field-descriptor name="notes" column="notes" jdbc-type="VARCHAR"/>
<reference-descriptor name="super" class-ref="com.mp.hato.ojb.OJBPerson" auto-retrieve="true" auto-update="true" auto-delete="true"> <foreignkey field-ref="id"/> </reference-descriptor> </class-descriptor>
<!-- ADDRESS --> <class-descriptor class="com.mp.hato.ojb.OJBAddress" proxy="dynamic" table="addresses"> <field-descriptor name="id" column="uid" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/> <field-descriptor name="line1" column="LINE1" jdbc-type="VARCHAR"/> <field-descriptor name="line2" column="LINE2" jdbc-type="VARCHAR"/> <field-descriptor name="town" column="TOWN" jdbc-type="VARCHAR"/> <field-descriptor name="postcode" column="POSTCODE" jdbc-type="VARCHAR"/> </class-descriptor>
[EMAIL PROTECTED] 04/01/04 06:42PM >>>Does the table OJBStudent is mapped to have the column? OJB is smart about only querying on tables that define attributes across extents.
How are these classes mapped and what does the schema look like?
-Brian
On Apr 1, 2004, at 10:00 AM, Keith Rogers wrote:
I have a hierachy of classes that goes like this:"Unknown
user->person->student
the user has a property called userStatus, which is a reference to another table. What I'm trying to do is get a list of students with a particular userStatus
When I do the query for users like this:
select ojbs from com.mp.hato.OJBUser where userStatus=1
It works fine. However, when I try
select ojbs from com.mp.hato.OJBStudent where userStatus=1
I get a message
java.sql.SQLException: Column not found, message from server:column 'userStatus' in 'where clause'"worked
Why is this happening when I use the student class, but not the user class? As far as I can tell, apart from this the inheritance hasfine - if I retreived a student object I can access all theinheritedfields, including the userStatus. So, I think its a problem with the query rather than the inheritance setup.
Does anyone have any ideas?
The information in this e-mail is confidential and intended to be solely for the use of the addressee(s) and may contain copyright and/or legally privileged information. If you are not the addressee
(or responsible for delivery of the message to the addressee) please
e-mail us at [EMAIL PROTECTED] and delete the messagefromyour computer; copying, distribution, use or disclosure of its contents is strictly prohibited. As Internet communications are capable of data corruption no responsibility is accepted for changes made to this message after it
it.was sent. For this reason it may be inappropriate to rely on advice contained in any e-mail without obtaining written confirmation ofIn addition, no liability or responsibility is accepted for viruses and it is your responsibility to scan attachments (if any). Please note that for business purposes, outgoing and incoming emails
from and to the company may be monitored and recorded.---------------------------------------------------------------------
Mouchel Parkman UK Ltd, Registered in England at West Hall, Parvis Road, West Byfleet, Surrey UK KT14 6EZ Registered No : 1686040
To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
The information in this e-mail is confidential and intended to be solely for the use of the addressee(s) and may contain copyright and/or legally privileged information. If you are not the addressee (or responsible for delivery of the message to the addressee) please e-mail us at [EMAIL PROTECTED] and delete the message from your computer; copying, distribution, use or disclosure of its contents is strictly prohibited.
As Internet communications are capable of data corruption no responsibility is accepted for changes made to this message after it was sent. For this reason it may be inappropriate to rely on advice contained in any e-mail without obtaining written confirmation of it.
In addition, no liability or responsibility is accepted for viruses and it is your responsibility to scan attachments (if any).
Please note that for business purposes, outgoing and incoming emails from and to the company may be monitored and recorded.
Mouchel Parkman UK Ltd, Registered in England at West Hall, Parvis Road, West Byfleet, Surrey UK KT14 6EZ Registered No : 1686040
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]