private List getListByInsuredName(TxnListHelper listHelper) throws DAOException{
Session session = null;
session = getHibernateSession();
String query = "SELECT txnRecNo From TxnInsured WHERE InsuredName LIKE :insuredname";
Query getList = session.createSQLQuery(query);
if(!GenericValidator.isBlankOrNull(listHelper.getInsuredName())){
getList.setParameter("insuredname", "%" + listHelper.getInsuredName() + "%");
}
List txnRecNoList = getList.list();
return txnRecNoList;
}
criteria.add(Restrictions.in("txnRecNo", getListByInsuredName(listHelper)));
txnRecNo是数据库中的bigint类型字段我想添加标准,它显示异常 java.lang.ClassCastException:java.math.BigInteger与java.lang.Long不兼容 < / p>
答案 0 :(得分:0)
BigInteger可以保存任意数量的数据。它可能比Long.MAX_VALUE更大。
要转换价值,请使用txnRecNo.longValue()
答案 1 :(得分:0)
来自Java Doc: public int intValue()
将此BigInteger转换为int。这种转换类似于Java *语言规范5.1.3节中定义的从long到int的缩小原语转换:如果这个BigInteger太大而不适合int,则只返回低位32位。请注意,此转换可能会丢失有关BigInteger值的总体大小的信息,并返回具有相反符号的结果。
使用intValue()
方法将BigInteger转换为long:
txnRecNo.longValue()