java.math.BigInteger无法强制转换为fr.pc30.bean.Intervention

时间:2017-12-05 17:58:11

标签: spring hibernate

我有一个错误java.math.BigInteger无法转换为类名。

这是我的要求

public List<Intervention> findTicketTaskAnnuler(long partnaireId,InterventionType type) 
return   getSession().createSQLQuery(new StringBuilder("")
                .append("SELECT i.id FROM intervention i ")
                .append("INNER JOIN logged_event lo on lo.NEW_ID = i.id and lo.OPERATION ='ANNULATION' and lo.DATE_CREATION =CURDATE() and lo.USER != :name ")
                .append("WHERE i.ID_PARTENAIRE = :partnaireId ")
                .append("and i.annulee=1 ")
                .append("order by i.id desc ").toString())
                .setParameter("partnaireId", partnaireId)
                .setParameter("name", type.getName())
                .list();

2 个答案:

答案 0 :(得分:0)

findTicketTaskAnnuler的返回类型是List的{​​{1}},但在您的查询中指定了

Intervention

基本上只选择id(我认为是SELECT i.id FROM intervention i ) 所以hibernate返回该类型,并且您的代码尝试将其强制转换为BigInteger

将您的退货类型更改为Intervention 或更改您的查询以获取映射到实体所需的所有字段

答案 1 :(得分:0)

您的查询正在获取ID列表(我猜有bigInteger数据类型),并且您尝试将查询输出存储到Intervention对象列表,或者将列表更改为List<Long>或将查询更改为选择SELECT *查询的所有列。