You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

JEST uses HTTP as communication protocol and HTTP URI as its command syntax.
A JEST URI introduces specific syntax rule on a standard URI to interpret the commands.

List simple name of the domain classes
List the key-value properties of the persistent unit
Query with no parameter
Query with single parameter

http://www.jpa.com/jest/query?q=select p from Person p where p.name=:name&name=John

Query with multiple parameters

http://www.jpa.com/jest/query?q=select p from Person p where p.name=:name and age > :age&name=John&age=20

Query for single result

http://www.jpa.com/jest/query/single?q=select p from Person p where p.name=:name&name=John

Get the single result of the named query

http://www.jpa.com/jest/query/single/named?q=QueryPersonByName&name=John

or

http://www.jpa.com/jest/query?q=select p from Person p where p.first=:first and p.last=:last&first=John&last=Doe

Get first 20 rows of query using a fetch plan
URI syntax for JEST
   uri := http://host[:port]/action/[qualifier]*['?'[parameter]'&'*]

   qualifier := qualifier-key['='qualifier-value]
   parameter := parameter-key'='parameter-value 
   
   action    : denotes the JPA operation to be performed.
               For example, find, query, insert, merge, remove, properties, domain etc.

   qualifier : qualifies the action. 
               specific to the action, e.g. a query action can qualify with query/single to get a single result as in above ex09.
               zero or more qualifier can be specified. 
               qualifier may have value separated by '='  
               each qualifier is separated by '/' 
               qualifier ordering is not significant (see above ex11.1 and ex11.2)
            
   parameter  : parameter for the action
            For example, JPQL string is a parameter for a query action
            zero or more parameter can be specified
            parameter may have value separated by '='
            each parameter is separated by '&' 
            first parameter can have special semantics based on action, e.g. first parameter for 'query' is JPQL string, 
            or first parameter for 'find' is the entity name, etc.
  • No labels