Criteria hibernate

3 respostas Resolvido
hibernatejava
igoralves

Boa tarde meus consagrados. Poderia me tirar uma duvida?

Quando eu faço um select simples utilizando criteria, ele me retorna uma lista de apenas um objeto em vez de varios objetos, segue um exemplo do criteria:

if(contexto.equals("teste")) {
	criteria.setProjection(Projections.distinct(Projections.property("instrumentot")))
		.add(Restrictions.eq("classeInstrumento", "futures"))
		.add(Restrictions.eq("produto","derivado"));
	
	return criteria.list();

3 Respostas

Lucas_Camara

Se você pegar a consulta SQL gerada pelo hibernate e executar no client do banco, quantos registros são retornados?

igoralves

A mesma quantidade, a minha duvida é referente a forma de retorno(perdão não estou sabendo explicar de uma forma clara qual é a minha duvida) quando faço uma query nativa ou utilo HQL no java , a consulta sempre vai me retornar uma arraylist com n objetos. por exemplo:

select nome
from instrumento;

a lista () vai ser composta por n objetos instrumento e seu nome.
Caso eu utilize o criteria ele me retornaria apenas o Nome

Lucas_Camara
Solucao aceita

Isso que você quer, dá para fazer com HQL também. Basta colocar os campos que você quer na clausula SELECT:

HQL

SELECT instrumentot
FROM Instrumento
WHERE classeInstrumento = 'futures' AND produto = 'derivado'
Criado 21 de março de 2019
Ultima resposta 21 de mar. de 2019
Respostas 3
Participantes 2