Quiero realizar operaciones en tiempo usando hibernate HQL.
Quiero sumar y restar dos fechas así como quiero restar 1 año o 1 mes a partir de una fecha determinada.
¿Cómo es esto posible con HQL en modo de hibernación?
OriginalEl autor amar4kintu | 2009-06-24
Ver
La realización de Fecha/Hora de Matemáticas En HQL?
para un ejemplo.
Utilizar sql personalizada debe escribió un propio hibernate dialecto y registro:
Hola, en el siguiente enlace que he encontrado la descripción detallada de la creación personalizada de hibernación, en dialecto de sql server. Esto se explica en la última respuesta del enlace. Espero que ayude a alguien. forums.hibernate.org/viewtopic.php?f=1&t=995494
Hola amar4kintu, si mi respuesta ha ayudado, por favor, puedes votar o marque la respuesta con la marca de verificación verde?
OriginalEl autor H2000
Usted necesita para crear su propio dialecto. Algo parecido a lo siguiente:
OriginalEl autor z5h
En Hibernate/MySQL (por lo menos)
Usted puede convertir a y desde un Timestamp de Unix. Desde el timestamp unix es un entero puede agregar un número entero de segundos.
Tiene sus limitaciones, pero es mucho más fácil que los enfoques anteriores.
OriginalEl autor Dean Mathieson
Este es un tema abierto en modo de Hibernación. Como de Hibernación 3.3 no hay una manera estándar para manejar las comparaciones de fecha puramente en HQL:
https://hibernate.atlassian.net/browse/HHH-2434
Hibernate 4.3 ofrece funciones para el acceso de Fecha/Hora en HQL que son:
Las operaciones aritméticas pueden ser gestionado por:
OriginalEl autor Fred Haslam
Descargo de responsabilidad: yo soy un Java novato
Yo era capaz de utilizar
current_date() >= fromDate AND dateadd(day, -1, getdate()) <= toDate
en un HQL declaración en contra de un Sybase db en modo de Hibernación 3.5.3, sin registrar ninguna de las funciones.OriginalEl autor foson
Uso de la muestra de acercamiento con el dialecto de JPA + Hibernate 4.3.1 + MySQL 5
clase pública SampleMySQL5InnoDBDialect se extiende org.hibernate.dialecto.MySQL5InnoDBDialect {
luego de su clase con anotaciones de correlación:
SampleEntity ha día campo de tipo java.sql.Fecha y duración campo entero (duración en días) y estamos calculando fromDate = día – duración y seleccionar todas las entidades que han fromDate o día dentro del intervalo de [startDate, endDate].
OriginalEl autor ydrozhdzhal
Hibernate4.3 proporciona funciones nativas para Fechas de acceso/las marcas de tiempo y para realizar arithmatic operaciones sobre ellos
Aquí es el enlace a la documentación de lo que se pueden utilizar expresiones en HQL.
Pocos de los que estoy mencionando:
Para acceder a fecha/hora:
Las operaciones aritméticas se puede hacer siguiendo. Estas funciones toman el Tiempo como entrada:
Uno puede obtener la diferencia absoluta de en HQL por
donde dateInstance puede tener la definición de
El resultado es de 0.1 segundos. Así, por una diferencia absoluta de 1 segundo, la expresión anterior dará como resultado 10.
Para una consulta quedaría así :
OriginalEl autor Nikhil Sahu
Postgres usuarios…
con el uso de SQL como:
OriginalEl autor Joseph Valerio