java - altura - tiempo de vuelo fisica definicion
Seleccione la marca de tiempo MAX con la API de criterios JPA2 (1)
En lugar de max , tiene que usar CriteriaBuilder.greatest para Timestamp (y también para Date, String y otros comparables). Y si alguna vez necesitas MIN para Timestamp, usa el método menos
Se puede enfrentar un tipo similar de problema con comparaciones menores / mayores / iguales. Firs one acepta el argumento que extiende el Número, el segundo es para otros comparables:
- lt vs. lessThan
- le vs. lessThanOrEqualTo
- ge vs. greaterThanOrEqualTo
- gt vs mayor que
Así que mi entidad tiene:
@Column(name="TS", nullable=false)
private java.sql.Timestamp timestamp;
Mi MetaModel generado tiene:
public static volatile SingularAttribute<MyEntity,Timestamp> timestamp;
Quiero seleccionar por el valor de Max Timestamp:
Root<MyEntity> root = query.from(MyEntity.class);
Expression maxExpression = cb.max(root.get(MyEntity_.timestamp));
Pero no se me permite porque:
max(Expression<N> x)
Crea una expresión agregada aplicando la operación numérica max.<N extends java.lang.Number>
Expresión
Por supuesto, la Timestamp
no se extiende Number
.
¿Cómo puedo hacer un MAX
en una columna de Timestamp
utilizando la API de criterios de escritura segura?
Gracias.