You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Albert Lee (JIRA)" <ji...@apache.org> on 2013/09/03 21:21:52 UTC

[jira] [Updated] (OPENJPA-2425) SELECT fields with @ExternalValues defined returns datastore values instead of unmapped fields

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

Albert Lee updated OPENJPA-2425:
--------------------------------

    Attachment: OPENJPA-2425.patch
    
> SELECT fields with @ExternalValues defined returns datastore values instead of unmapped fields
> ----------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-2425
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2425
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 2.1.2, 2.3.0, 2.2.1.1, 2.2.3
>            Reporter: Albert Lee
>            Assignee: Albert Lee
>         Attachments: OPENJPA-2425.patch
>
>
> If entity fields is annotated with,
> 	@ExternalValues( { "SMALL=SML", "MEDIUM=MID", "LARGE=LRG" })
> 	private String s1;
> Object query returns umapped value in the object,
>         Query q = em.createQuery("SELECT a from EntityA a");
>         EntityA aPrime = (EntityA) q.getSingleResult();
>         Assert.assertEquals("SMALL", aPrime.getS1());
> However, field query returns mapped value from the datastore:
>         q = em.createQuery("SELECT t0.s1 FROM EntityA t0");
>         List<Object[]> res = q.getResultList();
>         Iterator<Object[]> itr = res.iterator();
>         Object[] values = itr.next();
>         Assert.assertEquals("SMALL", values[1]);     <<< FAILED here, values[1]=="SML"
> This problem also causes a similarly structured CritieriaAPI query to return incorrect values.
> If the field type is boolean, even if the database has "true" value, both of the above scenario will return false, due to new Boolean("non-true") always return false.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira