Alguns métodos da API
br.com.jbc.controller.Controller possibilitam a realização de consulta HQL, como podem ser vistos nos exemplos abaixo:
Instância da API Controller para realizar consultas usando a entidade Pessoa
Controller<Pessoa> service = new Controller<Pessoa>();
Busca simples com condição HQL. Será impresso na console a pessoa com id 11
List<Pessoa> lista = service.getListByHQLCondition("from Pessoa where id = 11");
for (Pessoa pessoa : lista) {
System.out.println(pessoa.toString());
}
Assinatura do método:
Busca HQL com passagem de parâmetros. Será impresso na console as pessoas com id 11, 12 e 13
List<Long> ids = new ArrayList<Long>();
ids.add(new Long(11));
ids.add(new Long(12));
ids.add(new Long(13));
List<Pessoa> lista2 =
service.getListByHQLCondition("from Pessoa where id in (:paramIds)", ids, "
paramIds
");
for (Pessoa pessoa : lista2) {
System.out.println(pessoa.
toString()
);
}
Assinatura do método:
java.util.List<T> |
getListByHQLCondition(java.lang.String condition,
java.util.List paramList,
java.lang.String paramListName)
|
Busca HQL paginada. Será impresso as 4 pessoas com id maior que zero ordenado por id
List<Pessoa> lista3 =
service.getListByHQLCondition("from Pessoa where id > 0 order by id",0, 3);
for (Pessoa pessoa : lista3) {
System.out.println(pessoa.
toString()
);
}
Assinatura do método:
Busca HQL paginada com passagem de parâmetros. Será impresso as pessoas com id 11 e 12, pois nos parâmetros de paginação esta buscando os usuários da lista entre o valor 0 e 1.
List<Long> param = new ArrayList<Long>();
param.add(new Long(11));
param
.add(new Long(12));
param
.add(new Long(13));
List<Pessoa> lista4 =
service.getListByHQLCondition("from Pessoa where id in (:ids)", param, "ids", 0 , 1);
for (Pessoa pessoa : lista4) {
System.out.println(pessoa.
toString()
);
}
Assinatura do método:
java.util.List<T> |
getListByHQLCondition(java.lang.String condition,
java.util.List paramList,
java.lang.String paramListName,
int firstResult,
int maxResult)
|
Código que efetua uma busca HQL que retorna a entidade Pessoa. Será impresso o nome da pessoa
Pessoa p = service.getObjectByHQLCondition("from Pessoa where id = 11");
System.out.println(p.getNome());
Assinatura do método:
Código retorna um valor qualquer relacionado a classe pessoa, neste caso irá imprimir o nome da cidade
Cidade c = (Cidade)
service.getValueByHQLCondition("select p.cidade from Pessoa p where p.id = 11");
System.out.println(c.getNmCidade());
Assinatura do método:
Código imprime o email da pessoa.
String email = (String)
service.getValueByHQLCondition("select p.email from Pessoa p where p.id = 11");
System.out.println(email);
Assinatura do método:
Lembrando que estes são exemplos de como fazer consultas HQL com a API
br.com.jbc.controller.Controller, mas para fazer uma consulta simples podemos utilizar o método
find
Código que busca a pessoa com o id 1 e imprime o nome
Pessoa p = new Pessoa();
p.setId(1);
p = service.find(p);
System.out.println(p.getNome());
Assinatura do método:
Como também o
findList
que retorna uma lista e
findPaginate
que efetua uma pesquisa paginada
Para ver mais detalhes, acesse a
documentação da API