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 "Craig L Russell (JIRA)" <ji...@apache.org> on 2015/04/03 21:18:53 UTC

[jira] [Commented] (JDO-734) Ability to save a (created) query as a named query for later use

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

Craig L Russell commented on JDO-734:
-------------------------------------

The API itself looks good.

Two comments:

Do we want to allow replacing an existing named query with the new one? Do we want two APIs, one to replace and one to add?

The API would change the state of the PersistenceManagerFactory so it should require some permissions. Perhaps manageMetadata is the right permission?

So any JDO implementation should make this check and the tck should verify 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)