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 originalList licencias
= sess.
createCriteria(Licencia.
class) .addOrder( Order.asc("createDate") )
.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.