我有一个关于在 Hibernate 中使用限制的问题。
我必须创建条件,设置一些限制,然后选择一条日期字段最大值的记录:
Criteria query = session.createCriteria(Storage.class)
query.add(Restrictions.eq(USER_ID, item.getUserId()));
query.add(Restrictions.eq(ITEM_ID, item.getItemId()));
query.add(Restrictions.lt(PURCHASE_DATE, item.getDate()));
query.setProjection(Projections.max(PURCHASE_DATE));
return query.uniqueResult();
我了解 Projections 不会返回给我最大日期的记录。我应该选择什么方法?
也许我可以在我的查询中添加顺序(日期字段的升序),然后选择第一个结果?
或者你能建议更优雅的解决方案吗?
谢谢!