次の関連付けを持つUserとNotificationの 2 つのクラスがあります。
public class User {
private Long id;
private List<Notification> notifications;
}
public class Notification {
private Long id;
private Date date;
}
特定の時間前に送信され、特定のユーザーに属する通知のリストを取得しようとしています。私はHibernate Criteriaでこれを達成しようとしました:
Criteria criteria = session.createCriteria(User.class).add(Restrictions.eq("id", "123"));
criteria.createAlias("notifications", "notif");
criteria.add(Restrictions.lt("notif.date", calendar.getTime()));
Collection<Notification> result = criteria.list();
問題は、最初にクラス「ユーザー」の基準を定義しましたが、最終結果はクラス「通知」であるため、キャスト例外が発生することです。
この問題を解決することは可能ですか?