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)