openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fay Wang (JIRA)" <j...@apache.org>
Subject [jira] Commented: (OPENJPA-626) @JoinColumn with name attribute causes exception on 1.2.0.
Date Tue, 10 Jun 2008 04:43:45 GMT

    [ https://issues.apache.org/jira/browse/OPENJPA-626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603770#action_12603770
] 

Fay Wang commented on OPENJPA-626:
----------------------------------

Hi Tim, the values in  OPENJPA-626-vars-1.txt look fine. The join column names of "bus_stop_id"
and "schedule_id" are properly parsed and saved into the foreign keys. If your sql is generated
from find operation, the next you can do is to set a break point in JDBCStoreManager:

    public boolean select(Select sel, ClassMapping mapping, int subs,
        OpenJPAStateManager sm, BitSet fields, JDBCFetchConfiguration fetch,
        int eager, boolean ident, boolean outer) {
   ...
          if (eagerToMany != null)
                 eagerToMany.selectEagerJoin(sel, sm, this,    <== set break point here
and step into it
                      fetch.traverseJDBC(eagerToMany), eager);  

You will need to step into it and see how the join columns are formed (you may eventually
go to StoreCollectionFieldStrategy.selectEagerJoin).
If your sql is generated from dynamic query, you will need to set a break point in JDBCStoreQuery.executeQuery
and debug through. 






> @JoinColumn with name attribute causes exception on 1.2.0. 
> -----------------------------------------------------------
>
>                 Key: OPENJPA-626
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-626
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 1.2.0
>            Reporter: Michael Dick
>         Attachments: OPENJPA-626-vars-1.txt
>
>
> Creating Issue on behalf of Tim Holloway. Here's his email to the dev mailing list :

> @ManyToOne(fetch=FetchType.EAGER, cascade=CascadeType.MERGE)
>        @JoinColumn(name="bus_stop_id")
>        private BusStops busStop;
> Works in release 1.0.2:
> SELECT t0.schedule_stop_id, t1.stop_id, t1.description, t1.elevation,
> t1.in_
> service_date, t1.inbound, t1.latitude, t1.longitude,
> t1.out_service_date, t1.sheltered, t1.street1_block,
> t2.street_direction_id, t2.description, t1.street1_name, t1.street1
> _qualifier, t3.street_type_id, t3.description, t1.street2_block,
> t4.street_direction_id, t4.description, t1.street2_name,
> t1.street2_qualifier, t5.street_type_id, t5.descrip
> tion, t1.waypoint, t0.clock_point, t0.comments, t0.in_service,
> t0.in_service_date, t0.inbound, t0.out_service_date, t0.outbound,
> t0.schedule_id, t0.stop_sequence, t0.terminu
> s, t0.transfer_point FROM public.schedule_stops t0 LEFT OUTER JOIN
> public.bus_stops t1 ON t0.bus_stop_id = t1.stop_id LEFT OUTER JOIN
> public.lk_street_directions t2 ON t1.st
> reet1_direction = t2.street_direction_id LEFT OUTER JOIN
> public.lk_street_types t3 ON t1.street1_type = t3.street_type_id LEFT
> OUTER JOIN public.lk_street_directions t4 ON t
> 1.street2_direction = t4.street_direction_id LEFT OUTER JOIN
> public.lk_street_types t5 ON t1.street2_type = t5.street_type_id WHERE
> t0.schedule_id = ? ORDER BY t0.stop_seque
> nce ASC [params=(int) 50]
> Uses synthesized column name instead of declared name in today's CVS
> snapshot:
> ERROR: column t0.busstop_stop_id does not exist {prepstmnt 17939164
> SELECT t0.schedule_stop_id, t1.stop_id, t1.description, t1.elevation,
> t1.in_service_date, t1.inbound, t1.latitude, t1.longitude,
> t1.out_service_date, t1.sheltered, t1.street1_block,
> t2.street_direction_id, t2.description, t1.street1_name,
> t1.street1_qualifier, t3.street_type_id, t3.description,
> t1.street2_block, t4.street_direction_id, t4.description,
> t1.street2_name, t1.street2_qualifier, t5.street_type_id,
> t5.description, t1.waypoint, t0.clock_point, t0.comments, t0.in_service,
> t0.in_service_date, t0.inbound, t0.out_service_date, t0.outbound,
> t0.SCHEDULE_SCHEDULE_ID, t0.stop_sequence, t0.terminus,
> t0.transfer_point
> FROM public.schedule_stops t0
>  LEFT OUTER JOIN public.bus_stops t1
>  ON t0.BUSSTOP_STOP_ID = t1.stop_id
>  LEFT OUTER JOIN public.lk_street_directions t2
>  ON t1.street1_direction = t2.street_direction_id
>  LEFT OUTER JOIN public.lk_street_types t3 ON t1.street1_type =
> t3.street_type_id LEFT OUTER JOIN public.lk_street_directions t4 ON
> t1.street2_direction = t4.street_direction_id LEFT OUTER JOIN
> public.lk_street_types t5 ON t1.street2_type = t5.street_type_id WHERE
> t0.SCHEDULE_SCHEDULE_ID = ? ORDER BY t0.stop_sequence ASC [params=(int)
> 50]} [code=0, state=42703]

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message