[seam-issues] [JBoss JIRA] Commented: (SEAMPERSIST-63) Query Interface

Stuart Douglas (JIRA) jira-events at lists.jboss.org
Mon Aug 8 05:54:24 EDT 2011


    [ https://issues.jboss.org/browse/SEAMPERSIST-63?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12619310#comment-12619310 ] 

Stuart Douglas commented on SEAMPERSIST-63:
-------------------------------------------

A few things:

- Patches should be submitted as github pull requests, it makes it a lot easier to review than patch files
- This should be using solder @ServiceHandler functionality 


> 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