[seam-issues] [JBoss JIRA] Updated: (SEAMPERSIST-63) Query Interface
Frank Cornelis (JIRA)
jira-events at lists.jboss.org
Mon Aug 8 05:45:24 EDT 2011
[ https://issues.jboss.org/browse/SEAMPERSIST-63?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Frank Cornelis updated SEAMPERSIST-63:
--------------------------------------
Attachment: 0005-javadoc.patch
> Query Interface
> ---------------
>
> Key: SEAMPERSIST-63
> URL: https://issues.jboss.org/browse/SEAMPERSIST-63
> Project: Seam Persistence
> Issue Type: Feature Request
> Reporter: Frank Cornelis
> Priority: Minor
> Attachments: 0001-Query-Interface.patch, 0002-Update-queries.patch, 0003-Pagination.patch, 0004-Query-Interface-injection.patch, 0005-javadoc.patch
>
>
> The query interface allows for easy usage of JPA queries. Basically you annotate an interface as follows:
> {code}
> public interface QueryInterface {
> @QueryMethod("person.query.all")
> List<Person> getAll();
> @QueryMethod("person.select.by.name")
> Person getPersonByName(@QueryParam("name") String name);
> @QueryMethod(value = "person.select.by.name", nullable = true)
> Person findPersonByName(@QueryParam("name") String name);
> @QueryMethod("person.query.all")
> Query getAllQuery();
>
> @QueryMethod(query = "SELECT COUNT(*) FROM Person")
> Long countAll();
> }
> {code}
> Using some inject QueryInterfaceFactory you can get a proxy on this interface that will interpret the annotations towards JPA queries. See attached patch for a basic implementation.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the seam-issues
mailing list