28

即使我正在转换Object为 int,但会发生此异常......

实际上我的 Hibernate-JPA 方法是返回Object然后我将它转换Objectint......

这是我的休眠代码:

@Transactional
public Object getAttendanceList(User user){

    Query query = entityManager.createQuery("select Count(ad) from AttendanceDemo ad inner join ad.attendee at  where at.user=:user",
            Long.class);
    query.setParameter("user", user);
    return query.getSingleResult();
}

现在我将其转换Objectint

int k = (Integer) userService.getAttendanceList(currentUser);

我正在转换ObjectInteger.

4

2 回答 2

61

利用:

((Long) userService.getAttendanceList(currentUser)).intValue();

反而。

.intValue()方法在扩展类Number中定义。Long

于 2013-06-18T08:28:44.900 回答
6

结果的数量可以(理论上)大于整数的范围。我会重构代码并改用返回的 long 值。

于 2013-06-18T08:41:24.540 回答