xiaoliang330 2012-12-15 11:46
浏览 432
已采纳

hibernate returning BigInteger instead of Long(hibernate返回java类型为BigInteger)

场景: mysql数据库定义数据类型为bigInt, hibernate映射文件中定义类型为Long,通过hibernate查询出来的确实java.math.BigInteger

[code="java"]
private Long id;
private Long projectId;
private Long orgRoleId;
[/code]

[code="java"]









[/code]

数据库定义类型为bigInt, Mysql数据库

查询:
[code="java"]
List> list = this.hibernateTemplate
.execute(new HibernateCallback>>() {

                public List<Map<String, Object>> doInHibernate(
                        Session session) throws HibernateException,
                        SQLException {
                    List find = null;
                    String sql = "select t1.* ,t2.portalItemId as itemId ,t2._column ,t2._row ,t2._order ,t2.orgRoleId ,t2.projectId, t2.workZoneSiteId ,t2.portalItemHeight,t2.portalItemWidth from portal_item as t1,portal_default_workzonesite_item as t2 where t1.status=1 and t1.id=t2.portalItemId and t2.workZoneSiteId='"
                            + workZoneSiteId + "'";

                    SQLQuery query = session.createSQLQuery(sql);
                    query
                            .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
                    find = query.list();
                    return find;
                }
            });

[/code]

在得到的list拿出相应原本以为Long类型数据进行Long型转换时抛出Exception:

ClassCastException: cannot cast java.math.BigInteger to java.lang.Long

请问有人遇到过这情况吗,请问发生这种不预期的异常原因在哪?谢谢

  • 写回答

4条回答 默认 最新

  • jinnianshilongnian 2012-12-15 12:30
    关注

    你的配置和使用都没问题。
    1、用的是hibernate哪个版本?
    2、把异常和代码贴全 (workZoneSiteId 是什么类型?)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵