java.lang.ClassCastException:java.lang.Long无法在java 1.6中强制转换为java.lang.Integer
即使我将Object转换为int,但发生此exception……
实际上我的Hibernate-JPA方法是返回Object然后我将该Object转换为int …
听到我的Hibernate代码..
@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(); }
现在我将此Object转换为int ..
int k = (Integer) userService.getAttendanceList(currentUser);
我正在将Object转换为Integer …
使用:
((Long) userService.getAttendanceList(currentUser)).intValue();
代替。
.intValue()
方法在类Number
定义, Long
扩展。
结果的数量(理论上)可以大于整数的范围。 我会重构代码并使用返回的long值代替。
- 如何为超类编写Hibernate Criteria查询,并检查某个子类?
- JPA复合主键
- java.lang.NoClassDefFoundError:无法初始化类org.hibernate.ejb.Ejb3Configuration
- 将Hibernate实体映射为未知的DiscriminatorValue for InheritanceType.SINGLE_TABLE
- 当UserType表示单行中的对象集时。 如何使用类似标准查询Hibernate自定义UserType?
- Hibernate持久化Map 而不引用另一个表
- org.hibernate.QueryException:JPA样式的位置参数不是一个完整的序数
- hibernate锁定等待超时超时;
- Hibernate映射具有空值的复合键