[
https://issues.jboss.org/browse/SEAMPERSIST-63?page=com.atlassian.jira.pl...
]
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