Java hibernate 。如何使用条件获取日期字段最早的实体?

标签 java hibernate

我有实体DataStatus,其中包含字段date

我的目标是按日期字段获取最旧的行。

public DataStatus getOldest(){
    Criteria criteria = session.createCriteria(DataStatus.class);
    criteria.add(Restrictions.eq("date", MIN));
    List<DataStatus> results = criteria.list();
    if(results.size()<1)return null;
    return results.get(0);
}

最佳答案

用户通过标准 API 的机制进行排序

CriteriaQuery<DataStatus> q = cb.createQuery(DataStatus.class);
Root<DataStatus> c = q.from(DataStatus.class);
q.select(c);
q.orderBy(cb.asc(c.get("date")));

关于Java hibernate 。如何使用条件获取日期字段最早的实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32411268/

相关文章:

java - 在 Java 中解析字符串

java - 如何在Spring应用程序中从数据库加载属性而不是属性文件

java - 记录 Hibernate 查询 - 在 log4j.properties 和 persistence.xml 中设置?

java - Android 64 位兼容性和 'armeabi'?

java - Maven依赖图

java - 如何在android中检查日期在10天内

java - hibernate ,SQL Server 2016 = SQL 错误 : 207 - Invalid column name

java - 使用 envers 列出每个实体的最新版本

java - Hsql - 如果在 spring boot 应用程序中不存在则创建模式

java - 计划的 Spring MVC 任务不更新数据库实体