Java 条件 API 和对 java.util.Date 列的操作

Java Criteria API and operations on java.util.Date columns

有没有办法将 java.util.Date 列转换为 unix 时间并对其执行操作。

我试过了

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
Root<Trip> table = cq.from(Trip.class);
table.get(Trip_.endTime).as(Long.class)

但它似乎不起作用(endTime 的类型为 java.util.Date(数据库中的 DATETIME))

有没有办法获取两个 java.util.Date 列之间的秒数

谢谢

我设法通过调用本机函数 DATEDIFF

来解决它
Expression<Integer> diff = cb.function("DATEDIFF", Integer.class, cb.literal("SECOND"), table.get(Trip_.startTime), table.get(Trip_.endTime));
Expression<Integer> time = cb.sum(diff);