Michael Bouschen created JDO-763:
------------------------------------

             Summary: RI does not implement default of Query.setResult
                 Key: JDO-763
                 URL: https://issues.apache.org/jira/browse/JDO-763
             Project: JDO
          Issue Type: Bug
          Components: tck
    Affects Versions: JDO 3.2
            Reporter: Michael Bouschen
            Assignee: Andy Jefferson
             Fix For: JDO 3.2


The JDO spec defines in chapter 14.6.9 "Specifying the Result of a Query 
(Projections, Aggregates)":
Default Result
If not specified, the result defaults to “distinct this as C” where C is the 
unqualified name of the candidate class. For example, the default result 
specification for a query where the candidate class is com.acme.hr.Employee is 
“distinct this as Employee”.

The following query specifies a result class and assumes that the query result 
defaults to "distinct this as Person". 
  Query query = pm.newQuery(Person.class, "lastname == 'emp1Last'");
  //query.setResult("distinct this as Person");
  query.setResultClass(PersonWrapper.class);
  Object results = query.execute();
The above code results in org.datanucleus.exceptions.NucleusUserException: 
Query needs to return objects of type 
"org.apache.jdo.tck.query.api.SetResultDefault$PersonWrapper" but it was 
impossible to set the field "birthdate" type "java.util.Date". The field should 
have either a public set/put method, or be public.

The query executes OK when explicitly specifying a result (see line in 
comments).




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to