[ 
https://issues.apache.org/jira/browse/JDO-734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14501381#comment-14501381
 ] 

Andy Jefferson commented on JDO-734:
------------------------------------

I prefer just a single method and for it to replace any existing named query 
with that name. If we go into the domain of informing people of overwriting 
existing named queries then we'd really have to provide a method to get the 
names of current named queries also, and would like to keep this as a cheap and 
cheerful option.

Note also, JPA opts for putting this (type of) method on the EMF, whereas I've 
gone via the Query object. The reason for this is clear (to me at least), the 
user is playing around with a Query in their code, and they don't want to have 
to navigate down to the PMF just to save it.

> Ability to save a (created) query as a named query for later use
> ----------------------------------------------------------------
>
>                 Key: JDO-734
>                 URL: https://issues.apache.org/jira/browse/JDO-734
>             Project: JDO
>          Issue Type: New Feature
>          Components: api, specification, tck
>            Reporter: Andy Jefferson
>             Fix For: JDO 3.2
>
>         Attachments: JDO-734.api.patch
>
>
> When a user goes to the trouble of creating a query to retrieve some 
> information it is a common enough scenario that this will need to be 
> performed again during the application lifetime. Being able to save a query 
> (once created) as a named query (in the PMF) would mean that applications can 
> skip the generation step off for subsequent runs.
> Suggested API change would be to add a single method to Query.
> Query q = pm1.newQuery("SELECT p FROM Person p WHERE firstName == :param");
> q.saveAsNamedQuery("PeopleWithName");
> q.execute("John");
> ... (some time later)
> Query q = pm2.newNamedQuery(Person.class, "PeopleWithName");
> q.execute("Brian");



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to