[ 
https://issues.jboss.org/browse/SEAMPERSIST-63?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Frank Cornelis updated SEAMPERSIST-63:
--------------------------------------

    Attachment: 0003-Pagination.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
>
>
> 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

        
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues

Reply via email to