I have a model that is as follows:

    Person              Driver (Interface)
         |                 |              |
PersonImpl      DriverManaged   DriverUnmanaged
         |                 |              |
        DriverManagedImpl               DriverUnmanagedImpl
                
DriverManagedImpl extends PersonImpl implements DriverManaged, Driver,
Person

Both DriverManagedImpl and DriverUnmanagedImpl have a M:N collection to
another class Reservation.

The mapping for DriverManagedImpl uses the "super" reference descriptor
to mapped on multiple joined tables as follows:

<class-descriptor 
  class="uwec.fpm.persistence.fleet.DriverManagedImpl"
  table="dbo.tblFltDriverManaged" >
  
  <field-descriptor
    name="id"
    column="UWECId"
    jdbc-type="INTEGER"
    primarykey="true"
    readonly="true"
  />
...
  <reference-descriptor
    name="super"
    class-ref="uwec.fpm.persistence.fleet.PersonImpl"
    refresh="true"
    auto-retrieve="true"
    auto-update="true" >
    <foreignkey field-ref="id" />
  </reference-descriptor>
  <collection-descriptor
        name="reservations"
        element-class-ref="uwec.fpm.persistence.fleet.ReservationImpl"
        auto-retrieve="true"
        auto-update="true"
        auto-delete="false"
        proxy="true" 
        indirection-table="tblFltReservationDriver" >
        <fk-pointing-to-this-class column="DriverID" />
        <fk-pointing-to-element-class column="ReservationID" />
   </collection-descriptor>
</class-descriptor>

Using SQL Server 2000, I get the following SQL when querying for
Driver.class which is not valid.  I think the cross join should be an
INNER JOIN between tblFltDriverManaged and tblFltReservationDriver.  SQL
Server does not recognize the A0 alias on the cross join.

SELECT A0.UWECId,
        A0.IsVanAuthorized,
        A0.Updated,
        A0.IsCarAuthorized 
FROM dbo.tblFltDriverManaged A0, tblFltReservationDriver INNER JOIN
FACMGT.dbo.tblMMPerson A1 
ON A0.UWECId=A1.UWECId 
WHERE (tblFltReservationDriver.ReservationID =  '510' ) AND
tblFltReservationDriver.DriverID = A0.UWECId

Any suggestions on where to start investingating where to fix this?

~~~~~~~~~~~~~~~~~~~~~~~ 
Wallace J Gelhar 
University of Wisconsin - Eau Claire 
Facilities Planning & Management 
Computer Information Systems 
715-836-3411 

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

Reply via email to