Retornar objeto usando SQLQuery do Hibernate

Bom dia,

Tenho esse sql no hibernate

SQLQuery sql = session.createSQLQuery("SELECT SUM(VALOR),ID_TIPOTRANSACAO FROM TRANSACAO WHERE ID_CLIENTE=? GROUP BY ID_TIPOTRANSACAO"); List<Transacoes> lista=sql.setEntity(0, cliente).list();

Alguém saberia como ao invés de retornar o ID_TIPOTRANSACAO (Long), retornar o objeto TipoTransacao?

Abraços

Você teria que fazer um new dentro do select.

JPA Consultas e Dicas

Acho que na pagina 13 fala como instanciar um objeto na consulta.

Hum. Grande JakeFrog

Gostei do seu exemplo:

[code]
package com.main;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import com.model.PersonDogAmountReport;

public class Page13 {

@SuppressWarnings("unchecked")
public static void main(String[] args) {
    CodeGenerator.startConnection();

    CodeGenerator.generateData();

    EntityManager em = CodeGenerator.getEntityManager();

    Query query = em.createQuery("select new com.model.PersonDogAmountReport(p, size(p.dogs)) from Person p group by p.id");

    List<PersonDogAmountReport> persons = query.getResultList();
    for (PersonDogAmountReport personReport : persons) {
        System.out.println(personReport.getPerson().getName() + " has: " + personReport.getDogAmount() + " dogs.");
    }

    CodeGenerator.closeConnection();
}

}[/code]

Mas da onde tá vindo esse CodoGenerator? Qual o seu import?

Ele está em anexo no projeto, se você quiser passar está na última página.

Ele serve apenas para criar dados no banco e executar a consulta. [=