[ https://issues.apache.org/jira/browse/JDO-736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14521317#comment-14521317 ]
Andy Jefferson commented on JDO-736: ------------------------------------ +1 for the idea of putting those "execute" methods on a QueryProjector (or alternate name) INTERFACE ... see also https://issues.apache.org/jira/browse/JDO-652 at the end for Craig's comment (where it is called QueryExecution). Not so keen on QueryResult, since people often pass the results of a query direct to other layers of their app, and having basic Java types (List) without the need to pull in any JDO baggage is my preference. A separate thing on this issue, the existing methods execute() execute(Object) execute(Object, Object) execute(Object, Object, Object) should be deprecated and just have execute(Object...) which does the same as executeWithArray(Object...) > Change Query API to make use of generics to avoid casting execute() results > --------------------------------------------------------------------------- > > Key: JDO-736 > URL: https://issues.apache.org/jira/browse/JDO-736 > Project: JDO > Issue Type: New Feature > Components: api, specification, tck > Reporter: Andy Jefferson > Fix For: JDO 3.2 > > > The query API is dated, requiring casting of results to the required type. > Let's make use of generics etc and remove the pain. This will mean changing > the API so that the resultClass (and possibly more) will need passing into > the > execute() method(s). Could also specify parameters via setter rather than > just on the execute. > See JDO-652 also, we need to have a consistent way of executing queries > whether created using strings or typesafe, so that no casting of results is > needed with either -- This message was sent by Atlassian JIRA (v6.3.4#6332)