You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by "Andrus Adamchik (JIRA)" <de...@cayenne.apache.org> on 2008/03/28 17:56:38 UTC

[jira] Closed: (CAY-1018) Enums fetched via SQLTemplate

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

Andrus Adamchik closed CAY-1018.
--------------------------------

    Resolution: Fixed

hopefully this fix and 'setColumnNamesCapitalization' will make SQLTeamplate a much more usable query in 3.0

> Enums fetched via SQLTemplate
> -----------------------------
>
>                 Key: CAY-1018
>                 URL: https://issues.apache.org/cayenne/browse/CAY-1018
>             Project: Cayenne
>          Issue Type: Bug
>          Components: Cayenne Core Library
>    Affects Versions: 3.0
>            Reporter: Andrus Adamchik
>            Assignee: Andrus Adamchik
>             Fix For: 3.0
>
>
> This is not specifically enum related, but is is very easy to demonstrate the problem using enums... E.g.:
>        SQLTemplate q = new SQLTemplate(
>                 EnumEntity.class,
>                 "SELECT * FROM ENUM_ENTITY WHERE ENUM_ATTRIBUTE = 'one'");
>         q.setColumnNamesCapitalization(SQLTemplate.UPPERCASE_COLUMN_NAMES);
>         EnumEntity e = (EnumEntity) DataObjectUtils.objectForQuery(context, q);
>         assertNotNull(e);
>         assertSame(Enum1.one, e.getEnumAttribute());
> The last line throws ClassCastException as the enum value was stored as String. Essentially the problem is that SQLTemplate is created without a result set mapping, and doesn't bother to look at the root entity for type mapping... 

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