【发布时间】:2020-12-05 20:01:59
【问题描述】:
patientId 的DataType 是实体对象中的BigInteger
private BigInteger patientId;
代码:
@Override
public List<ChatRoomHistory> getLastChatDetails(List<String> patientIds) {
String queryStr = "FROM ChatRoomHistory where type = 'NO' and patientId in :patientIds ORDER BY chatCloseTime DESC";
TypedQuery<ChatRoomHistory> query = sessionFactory.getObject().getCurrentSession().createQuery(queryStr, ChatRoomHistory.class);
query.setParameter("patientIds", patientIds);
return query.getResultList();
}
错误
2020-08-16 19:52:27,939 [http-nio-8080-exec-5:] c.t.c.u.e.GlobalExceptionHandler.handleException:243
ERROR - new Global exception handled! Message = java.util.LinkedHashMap cannot be cast to java.math.BigInteger
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to java.math.BigInteger
at org.hibernate.type.descriptor.java.BigIntegerTypeDescriptor.unwrap(BigIntegerTypeDescriptor.java:19)
at org.hibernate.type.descriptor.sql.DecimalTypeDescriptor$1.doBind(DecimalTypeDescriptor.java:47)
at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:74)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:280)
【问题讨论】:
-
您为
patientIds发送的List<String>无效我认为您应该发送List<BigInteger> -
我也尝试过使用 BigInteger,但得到 ERROR - 处理了新的全局异常! Message = java.util.LinkedHashMap 无法转换为 java.math.BigInteger java.lang.ClassCastException: java.util.LinkedHashMap 无法转换为 java.math.BigInteger
标签: spring-boot hibernate spring-data-jpa hql jpql