Hibernate での制限の使用について質問があります。
基準を作成し、いくつかの制限を設定してから、日付フィールドの最大値を持つ 1 つのレコードを選択する必要があります。
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();
プロジェクションが最大日付のレコードを返さないことを理解しています。どのアプローチを選択すればよいですか?
クエリに順序を追加して (日付フィールドの昇順)、最初の結果を選択することはできますか?
または、よりエレガントなソリューションを提案していただけますか?
ありがとうございました!