Я пытаюсь запустить подзапрос в спящем режиме следующим образом: -
DetachedCriteria cartProductIds = DetachedCriteria.forClass(UserCart.class,"usercart")
.add(Restrictions.eq("is_deleted", false))
.add(Property.forName("usercart.user_id").eq(Property.forName("search.userId")))
.add(Property.forName("usercart.product_id").eq(Property.forName("search.productId")))
.setProjection(Projections.property("product_id"));
List<SearchHistory> history=session.createCriteria(SearchHistory.class,"search")
.add(Restrictions.between("creationTime", startTime, Timings.getCurrentTime()))
.add(Restrictions.eq("notification_send", false))
.add(Subqueries.notIn("productId", cartProductIds))
.list();
Но в строке подзапроса notIn есть ошибка: -
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long.
Нужна помощь, чтобы решить эту проблему. Спасибо!