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

Jeremy Bauer commented on OPENJPA-528:
--------------------------------------

The original fix provided by Michael has been enhanced to eliminate the 
problems encountered in the TCK.

In short, when schema mapping occurs columns are inserted into a table object, 
including foreign key columns.  Then, when foreign keys are mapped into the 
same table the column name validator finds the column already exists and 
generates a new unique column with a numeric value appended.  This column is 
mapped to the foreign key.  Later, when the entity is persisted, the 
extra/incorrectly generated column name is not found in the database table.  
The result is a SQLException.

To eliminate this problem, a new method was added to the DBDictionary to 
enable/disable the column name uniqueness check.  The method to populate the 
foreign key column was changed to disable uniqueness checking - since the FK 
column is already in the table.  Thus, an extra/incorrect column does not get 
generated.

A patch is provided as OPENJPA-528.patch.  Please review by tomorrow morning 
(3/20/08).

> FK columns which contain reserved workds are renamed incorrectly.
> -----------------------------------------------------------------
>
>                 Key: OPENJPA-528
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-528
>             Project: OpenJPA
>          Issue Type: Bug
>            Reporter: Michael Dick
>            Assignee: Michael Dick
>
> The check for reserved words in FK column names happens before we append the 
> _ID suffixes. As a result if a reserved word is found  we end up appending a 
> number to the reserved word and then appending _ID. 
> Whats worse is that the check for uniqueness also occurs before we append the 
> _ID, which could lead to other problems down the road.

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

Reply via email to