java - java.lang.ClassCastException:java.lang.String 无法转换为 java.lang.Long(休眠)
问题描述
我正在尝试像这样在休眠中运行子查询:-
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.
需要帮助来解决这个问题。谢谢!
解决方案
推荐阅读
- wix - 向 MSI UpgradeTable 添加条目以删除相关产品
- mongodb - 更改绑定地址后重新加载mongodb
- javascript - Vue动态列表
- java - 同一个 singletonPattern 实例的两个引用
- linux - Vim 日晒配色方案无法正常工作
- html - SVG loader not spinning correctly in Firefox
- python - 创建一组 numpy 数组
- google-apps-script - 跟踪函数的使用次数
- javascript - React Native - 如何显示不在列表开头的列表?
- xamarin - Xamarin iOS 应用程序被 App Store 拒绝,因为它不能在纯 IPv6 环境中运行