Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2009, 07:40
Avatar de Wayern
Wayern
 
Fecha de Ingreso: septiembre-2008
Ubicación: Aguascalientes
Mensajes: 65
Antigüedad: 16 años, 3 meses
Puntos: 4
Pregunta Duda de Hibernate

Hola a todos. Tengo una duda de Projections y espero me puedan ayudar. Estoy usando Criteria y Projections para generar este query:
Código:
select count(*) as y0,  M.COA_ID as y1
  from T_ACT_MAPPING M
 where M.ACTUAL_MAPPING = 'Y'
   and M.COA_ID in (select C.COA_ID as y0
                          from T_COA C
                         where C.IS_ACTIVE = 'Y')
 group by M.COA_ID
Este es el código que uso en mi DAO:
Código:
Criteria c=getSession().createCriteria(TActMapping.class);
DetachedCriteria dt=
DetachedCriteria.forClass(TCoa.class).setProjection(Property.forName("coaId"))
			.add(Restrictions.eq("isActive", Constants.YES));
				ProjectionList proList = Projections.projectionList();
proList.add(Projections.rowCount());
proList.add(Projections.groupProperty("coaId"));
c.setProjection(proList);
c.add(Restrictions.eq("actualMapping", Constants.YES));
c.add(Property.forName("coaId").in(dt));
objList=(List<Object>)c.list();
El query que me genera es correcto, lo que no se es como obtener el valor del count. Por ejemplo, al ejecutar el query que me da hibernate en la BD este es el resultado:
Código:
Y0  Y1
2	584
3	580
3	581
3	583
3	720
1	585
2	683
2	601
2	644
Mi duda es, si tengo que agregar un campo count al bean o cómo puedo obtener los valores de Y0. Espero haber sido lo suficientemente claro y me puedan ayudar. Un saludo y muchas gracias.