美文网首页
JPA 记一次查询封装异常

JPA 记一次查询封装异常

作者: 胖胖她哥Ethan | 来源:发表于2019-05-27 09:26 被阅读0次

线上环境异常:

IllegalArgumentExceptionin class: com.xxx.bean.BrowseRecordVO, 
 setter method of property: collectionFlag,
Expected type: java.math.BigInteger, actual value: java.lang.Integer

场景: Hibernate把原生sql查询出来的结果集封装成VO对象

SQLQuery sqlQuery = entityManager.createNativeQuery(buffer.toString()).unwrap(SQLQuery.class);
        sqlQuery.setParameter(1, userId);
        sqlQuery.setParameter(2, curriculumId);
        Query query = sqlQuery.setResultTransformer(Transformers.aliasToBean(BrowseRecordVO.class));

讨论

1. 异常很明显:预期接收返回参数为BigInteger,实际接收参数为Integer。
   只需要BrowseRecordVO中的collectionFlag属性改为Integer类型就行。 

我遇到了一个很坑的问题就是线下数据库collection_flag字段类型为tinyint(1), 
但是线上数据库的该字段被修改为了int类型,
导致线上一直出现上述异常,而线下环境测试OK。

# 处理方式:线上数据库字段类型也改为tinyint(1)即可。 

相关文章

  • JPA 记一次查询封装异常

    线上环境异常: 场景: Hibernate把原生sql查询出来的结果集封装成VO对象 讨论

  • Spring Data Jpa的使用(二)

    使用Jpa进行多表关联查询,利用java反射将查询结果封装到对象中 在使用Jpa进行数据库查询的时候,经常会遇到这...

  • 【SpringBoot】分页查询

    SpringBoot Jpa封装了分页查询 Pageable是 Spring 封装的分页实现类,使用的时候需要传入...

  • JPA 单表多条件+分组+排序+分页查询

    前言 : JPA 单表相关操作用以下示例代码可以完成参考代码 JPA查询结果对象封装[https://www.ji...

  • 7 Spring-data-jpa查询方法

    springdata-jpa 八种查询方法 Spring Data JPA 简单查询--接口方法 jpa动态查询-...

  • jpa查询进阶-查询结果对象封装

    jpa单表数据封装对象很简单,但是如何连表查询时将返回数据封装成自己要的对象呢 一、使用@Query+原生sql查...

  • 关于JPA 表达式封装用法(二)

    上篇文章中已经介绍了JPA表达式的用法,以及form表单的查询. 下面这篇文章将继续讲述JPA表达式的封装用法. ...

  • JPA-复杂查询

    时间相关查询 Spring data jpa 条件查询-按时间段查询Jpa查询排序,时间范围查询,当天时间范围查询...

  • SpringBoot+Spring JPA基础使用

    Spring JPA集成基础查询实例复杂查询+分页一对多查询及多对多查询 1. Spring JPA集成 1.1 ...

  • 2018-03-16

    聊聊JPA Criteria查询中的坑 JPA Criteria查询被称作动态安全类型查询,比JPQL这种方式更加...

网友评论

      本文标题:JPA 记一次查询封装异常

      本文链接:https://www.haomeiwen.com/subject/hohctctx.html