commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julien Aymé (JIRA) <j...@apache.org>
Subject [jira] Commented: (DBUTILS-57) BeanProcessor not able to map an alias column from a HSQLDB query to the any bean properties
Date Thu, 22 Oct 2009 09:25:05 GMT

    [ https://issues.apache.org/jira/browse/DBUTILS-57?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12768614#action_12768614
] 

Julien Aymé commented on DBUTILS-57:
------------------------------------

IMHO, the column label should be used in the first place, and reverted to the column name
if the label is null or empty.
This would allow to automatically map query like this:

{code}
SELECT 
    i.id,
    i.price,
    t1.label AS name,
    t2.label AS description,
    t3.label AS tooltip
FROM items i
    JOIN texts t1 ON i.lname_id = t1.id
    JOIN texts t2 ON i.ldescr_id = t2.id
    JOIN texts t3 ON i.ltool_id = t3.id
WHERE i.id = ?
    AND t1.lang_id = ?
    AND t2.lang_id = ?
    AND t3.lang_id =?
{code}

What do you think?

> BeanProcessor not able to map an alias column from a HSQLDB query to the any bean properties
> --------------------------------------------------------------------------------------------
>
>                 Key: DBUTILS-57
>                 URL: https://issues.apache.org/jira/browse/DBUTILS-57
>             Project: Commons DbUtils
>          Issue Type: Bug
>         Environment: hsqldb-1.9.0-rc4 memory mode
> DBUtils 1.2
>            Reporter: Wynand
>
> Using a query with an alias, hsqldb engine doesn't populate the column name metadata
only the column label metadata.
> In such a case the column isn't mapped.
> To resolve this, the column label should be used in case the column name is not available.
> Here is a snippet from org.apache.commons.dbutils.BeanProcessor.mapColumnsToProperties
line 393 : 
> ...
>        for (int col = 1; col <= cols; col++) {            
>             String columnName = rsmd.getColumnName(col);
>            // columnName is empty, revert to column label
>             if (columnName.length() == 0) {
>                 columnName = rsmd.getColumnLabel(col);
>             }            
>             ...

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