Foros del Web » Programación para mayores de 30 ;) » Java »

problema con hibernate criteria

Estas en el tema de problema con hibernate criteria en el foro de Java en Foros del Web. Hola, No sé mucho de hibernate, pero me ha tocado realizar una clase que realice consultas con criteria y ahora mismo estoy estancada con una ...
  #1 (permalink)  
Antiguo 03/10/2010, 14:26
 
Fecha de Ingreso: noviembre-2002
Mensajes: 224
Antigüedad: 21 años, 11 meses
Puntos: 1
problema con hibernate criteria

Hola,

No sé mucho de hibernate, pero me ha tocado realizar una clase que realice consultas con criteria y ahora mismo estoy estancada con una de ellas.
Explico, la consulta la hago sobre una tabla "Licencia", que tiene los campos creationDate, endDate y nombre.

Debo sacar un listado de licencias, donde aparezcan separadas las vigentes, es decir cuya endDate sea mayor a la fecha actual, de las no vigentes.
Sin embargo, deben salir ordenadas por creationDate.

Entonces, aunque es erroneo, habia preparado algo asi..

criteria = session.createCriteria(Licencia.class)
criteria.addOrder(Order.asc("fEndDate"));
criteria.addOrder(Order.asc("fCreationDate"));

Sin embargo, ni funciona como quiero, ni da los resultados en el orden que quiero.

Yo necesito que en mi listado apareciera:

Estado | Nombre | creation Date
----------------------------------------------------
No vigente | Licencia 1 | 10/06/2010
No vigente | Licencia 3 | 11/06/2010
No vigente | Licencia 2 | 12/06/2010
No vigente | Licencia 4 | 13/06/2010
Vigente | Licencia 6 | 05/06/2010
Vigente | Licencia 9 | 17/06/2010
Vigente | Licencia 7 | 07/07/2010
Vigente | Licencia 8 | 14/08/2010

Mi problema es :
* no sé como separar las vigentes de las no vigentes,
* no sé evaluar en el jsp si es o no vigente, y que ponga Vigente/No vigente en vez de la endDate

Si alguien sabe como hacerlo, le agradecería que me ayudara, muchas gracias de antemano!
  #2 (permalink)  
Antiguo 04/10/2010, 00:20
 
Fecha de Ingreso: diciembre-2004
Mensajes: 163
Antigüedad: 19 años, 10 meses
Puntos: 2
Respuesta: problema con hibernate criteria

mira, lo mejor que podrías hacer es traer tus datos ordenados por createDate de manera ascendente (los más antiguos primero), luego en el codigo Java no el jsp obtienes la fecha actual y asi ya te es mas factible hacer la separación, tu criteria en hibernate quedaría algo como:

Código Java:
Ver original
  1. List licencias = sess.createCriteria(Licencia.class)
  2.     .addOrder( Order.asc("createDate") )
  3.     .list()

Luego en tu código java, puedes crear dos listas con las vigentes y las no vigentes separadas, lo otro sería hacer dos consultas distintas en hibernate, una para traer las no vigentes y otra para las vigentes.

y recuerda que las criteria query admiten muchas otras opciones ;), te dejo la referencia de hibernate para las criteria http://docs.jboss.org/hibernate/core...ycriteria.html

Saludos.

Etiquetas: criteria, hibernate
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:58.