From issues at jboss.org Wed Sep 14 11:45:02 2016 From: issues at jboss.org (George Gastaldi (JIRA)) Date: Wed, 14 Sep 2016 11:45:02 -0400 (EDT) Subject: [seam-issues] [JBoss JIRA] (SEAMPERSIST-63) Query Interface In-Reply-To: References: Message-ID: [ https://issues.jboss.org/browse/SEAMPERSIST-63?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] George Gastaldi closed SEAMPERSIST-63. -------------------------------------- Resolution: Out of Date Closing as Out of Date > 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 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 was sent by Atlassian JIRA (v6.4.11#64026)