Using HQL in Web Services Queries

It is possible to retrieve entities from TargetProcess using HQL syntax. HQL is Hibernate Query Language which is resembles SQL. HQL is a very flexible language and you may create complex queries to retrieve data from TargetProcess.

Each TargetProcess web service has Retrieve method that accepts HQL query and array of parameters. For example, the following query returns user with login "admin":

UserServiceWse userService = ...

UserDTO user = userService.Retrieve("from User as user where user.Login = ?", new object[] { "admin" })[0];

The following query returns all assigned user stories:

UserStoryServiceWse service = ...

UserStoryDTO[] list = service.Retrieve(
   "from UserStory as story where story.Project.DeleteDate is null " +
   "and ? in (select team.User.Login from story.Teams as team " +
   "where story.EntityState.Final = 0 and story.EntityState.Actor = team.Actor)", new object[] { "admin" });