openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Albert Lee (JIRA)" <j...@apache.org>
Subject [jira] [Created] (OPENJPA-2425) SELECT fields with @ExternalValues defined returns datastore values instead of unmapped fields
Date Tue, 03 Sep 2013 19:19:55 GMT
Albert Lee created OPENJPA-2425:
-----------------------------------

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


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

Mime
View raw message