You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by "Michael Bouschen (JIRA)" <ji...@apache.org> on 2017/04/26 20:15:04 UTC
[jira] [Created] (JDO-763) RI does not implement default of
Query.setResult
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)