openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Dick (JIRA)" <j...@apache.org>
Subject [jira] Closed: (OPENJPA-456) Missed to validate the column name length for Join Column
Date Sun, 20 Apr 2008 19:00:21 GMT

     [ https://issues.apache.org/jira/browse/OPENJPA-456?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Michael Dick closed OPENJPA-456.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 1.1.0

Closing old issue which was integrated with revision 603633 on 12-12-2008

> Missed to validate the column name length for Join Column
> ---------------------------------------------------------
>
>                 Key: OPENJPA-456
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-456
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 1.1.0
>            Reporter: Teresa Kan
>            Assignee: Michael Dick
>             Fix For: 1.1.0, 1.2.0
>
>         Attachments: OPENJPA-456.patch, openjpa_456_2.patch
>
>
> In the PersistenceMappingDefault.populateJoinColumn() method, it missed the call to validate
the column length. Consequencely the column length  that was longer than DB2's max column
length resulted an invalid column length exception .
> The fix wil be:
>     public void populateJoinColumn(FieldMapping fm, Table local, Table foreign,
>         Column col, Object target, int pos, int cols) {
>         // only use spec defaults with column targets
>         if (!(target instanceof Column))
>             return;
>         // if this is a bidi relation, prefix with inverse field name, else
>         // prefix with owning entity name
>         FieldMapping[] inverses = fm.getInverseMappings();
>         String name;
>         if (inverses.length > 0)
>             name = inverses[0].getName();
>         else
>             name = fm.getDefiningMapping().getTypeAlias();
>         // suffix with '_' + target column
>         name += "_" + ((Column) target).getName();
>         name = dict.getValidColumnName(name, foreign);  ===> add this call before
set the name to the column.
>         col.setName(name);
>     }

-- 
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