23/10/2009, 05:07
|
| | Fecha de Ingreso: diciembre-2008
Mensajes: 233
Antigüedad: 16 años, 1 mes Puntos: 1 | |
Respuesta: pasar String a Date Hola, el problema es que no sé como ni porqué unas veces me coge la fecha como dd/M/yyyy y otras me la coge como MM/dd/yyyy. He probado varias veces, y unas veces textoFecha es '8/19/09 12:00:00 AM.000' y otras veces es '19/08/09 12:00:00 AM.000'. Ese creo que es mi principal problema a la hora de coger la fecha.
Luego tengo otro problema, y es a la hora de hacer una consulta a la bbdd, pidiendo todas las instancias de la clase SalidaResiduo que tengan fecha de ese día, es decir, de 19/08/2009 00:00:00 a 19/08/2009 23:59:59. El método donde hago esta consulta es:
public Collection<SalidaResiduo> obtenerSalidasResiduosDeFecha(Date fecha) throws JpaDaoException {
try {
DateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy");
DateFormat formatoFechaDestino = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
String textoFecha = formatoFecha.format(fecha);
Date fechaDesde = formatoFechaDestino.parse(textoFecha + " 00:00:00");
Date fechaHasta = formatoFechaDestino.parse(textoFecha + " 23:59:59");
String textoConsulta = "from SalidaResiduo srE where srE.fechasalida >= "+fechaDesde+
" and srE.fechasalida <= "+fechaHasta;
Query consulta = this.getEntityManager().createQuery(textoConsulta) ;
return consulta.getResultList();
} catch (Exception e) {
throw new JpaDaoException(e);
}
}
Pero me dá el siguiente error:
es.aena.sgcomun.base.service.exception.SpringServi ceException: es.aena.sgcomun.base.data.exception.JpaDaoExceptio n: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: Jul near line 1, column 94 [from es.aena.sgma.controlresiduos.data.entity.SalidaRes iduo srE where srE.fechasalida >= Tue Jul 08 00:00:00 CET 10 and srE.fechasalida <= Tue Jul 08 23:59:59 CET 10]
Es decir, que no sé porqué unas veces me coge la fecha como string dd/MM... y otras como MM/dd..., ni qué está mal en el texto de la consulta para obtener todas las instancias de ese día. ¿Podéis echarme un cable? Muchas gracias, y un saludo |