【问题标题】:Hibernate get project last version from databaseHibernate 从数据库中获取项目的最新版本
【发布时间】:2015-11-19 14:06:30
【问题描述】:

我是 hibernate 框架的新手,我不知道如何使用 hibernate 函数编写代码来获取所需的对象。在互联网上,我看到了使用标准和投影的代码,但投影查询不是我需要的。例如,我需要按日期获取项目的最新版本。这是标准

Criteria criteria = session
                    .createCriteria(Assembly.class)
                    .setProjection(Projections.max("date"));

-第一个问题是它从所有表中获取最大值(不知道如何设置仅搜索确切的项目名称日期)。 - 第二个问题,它返回日期,但我需要类的对象。 总之,我需要从休眠中生成这样的查询: SELECT * FROM assembly WHERE projectName = ? AND ...不知道如何完成它,date = max() - 不会像我理解的那样工作。 糟糕的解决方案之一是获取所有确切的项目,然后比较那里的日期,但我认为会有很好的解决方案。

【问题讨论】:

    标签: java hibernate jdbc


    【解决方案1】:

    这应该可以工作

    Assembly newest = 
        (Assembly) session.createCriteria(Assembly.class)
        .add(Restrictions.eq("projectName", projectName))
        .addOrder(Order.desc("date"))
        .setMaxResults(1)
        .uniqueResult();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-13
      • 2010-10-12
      • 2015-06-14
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多