`
gwh_08
  • 浏览: 335651 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

org.hibernate.PropertyAccessException: IllegalArgumentException

 
阅读更多
org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.hengbao.otp.bean.AuthStatusBean.sum

 调用sql语句遇到这个问题,是因为hibernate版本或者所使用的数据库默认数据格式造成的,尤其是在进行sum,count等函数操作时,换了一圈的int,Integer,long,Long,最后没办法,虽知不可能还是试了doubel,晕死。还不行。

最后没办法,只好变通,不采用hibernate的

createQuery

 或createSQLQuery

createSQLQuery

 转而采用

getNamedQuery

 的方式,在xml文件中,指定对应字段对应的类型,一运行,测试文件,OK,总算通过了。

由此想到本人以前做的一个:

select new com.gu.vo.StatisticsVO(sum(amount) as sumMoney,"+columnName+" as groupColumns) from TransRecordVO where status=1"

 也是一直报这个错误,有的人说是因为

StatisticsVO

的构造方法的类型与查询结果的类型不符造成的,也是试了一圈,没有成功,最后无法。只好修改数据库中对应字段的类型,转了一大圈才解决的。

现在看来,完全也可以采用上述方法指定,对应字段的类型来解决的!

xml文件代码:

<!-- 统计令牌状态 -->
	<sql-query name="countStatus">
		<return-scalar column="id" type="java.lang.Integer" />
		<return-scalar column="authId" type="java.lang.Integer" />
		<return-scalar column="sum" type="java.lang.Integer" />
		<return-scalar column="tokenStatus" type="java.lang.Integer" />
	<![CDATA[
		  SELECT t.id AS id,t.auth_id AS authId,COUNT(t.token_status) AS sum, t.token_status AS tokenStatus FROM 
          t_auth_oprate t WHERE t.auth_id =:authId  AND (T.operate_time BETWEEN :startDate AND :endDate) 
          GROUP BY t.token_status
	]]>

 至于id是Integer还是Long完全可以自由定义转化。当然必须要与返回的bean中对应字段的类型一致。

分享到:
评论

相关推荐

    Tiles相关

    9. **"org.hibernate.PropertyAccessException.txt"**:该文件可能记录了关于Hibernate在尝试访问或修改对象属性时遇到的异常情况,分析其中的错误信息可以帮助定位和解决问题。 10. **"Insert.txt"**:可能包含...

    BeanUtils包

    4. **处理异常:** BeanUtils内部处理了可能出现的`PropertyAccessException`,将常见的错误转化为运行时异常,简化了异常处理流程。 5. **类型转换:** 内置了基本类型的转换逻辑,可以自动进行类型转换,如将字符...

    Hibernate映射导致的几个异常

    6. **`PropertyAccessException`:** 这可能是因为属性类型与数据库字段类型不匹配。检查实体类的属性类型和数据库列的类型,确保它们兼容。此外,注意日期和时间类型的转换,确保使用正确的格式。 7. **`OneToMany`...

    commons-beanutils-1.8.3-sources.jar

    5. **异常处理:** 库中内置了对可能出现的异常(如属性不存在或类型转换失败)的处理,通过抛出`PropertyAccessException`,为开发者提供了友好的错误提示。 在实际开发中,Apache Commons BeanUtils被广泛应用于...

    SPRING API 2.0.CHM

    PropertyAccessException PropertyAccessor PropertyAccessorUtils PropertyBatchUpdateException PropertyComparator PropertyEditorRegistrar PropertyEditorRegistry PropertyEditorRegistrySupport ...

    ognl API文档

    在处理OGNL表达式时,可能会遇到各种异常,如`PropertyAccessException`(访问属性失败)、`NullPointerException`(空指针异常)等。理解这些异常可以帮助定位和解决问题。 9. 性能优化: 为了提高性能,OGNL...

    beanutils-1.9.3jar包

    6. **Exception Handling**: BeanUtils库在处理异常时会抛出`PropertyAccessException`,这是专门为处理JavaBean属性访问错误而设计的异常类,包含了详细的错误信息。 7. **Internationalization (i18n)**: 考虑到...

    Comparator

    在这个场景中,我们关注的是`org.apache.commons.beanutils.BeanComparator`,这是一个由Apache Commons BeanUtils项目提供的特殊`Comparator`实现,它专门用来对对象的属性进行比较和排序。 `BeanComparator`类...

    使用BeanUtils操作属性的一个小坑

    5. **使用BeanUtils.copyProperties()的自定义转换器**:如果属性类型不匹配,可以实现`org.apache.commons.beanutils.Converter`接口,然后通过`registerConverter()`方法注册,使BeanUtils在遇到这种类型转换时...

    BeanUtils相关jar包

    5. **处理异常**:BeanUtils库在处理过程中会捕获并包装可能抛出的异常,如`PropertyAccessException`,使开发者可以统一处理错误,提高代码的健壮性。 6. **国际化支持**:BeanUtils与Apache Commons Locale和...

    BeanUtil框架完整包

    6. **异常处理**:BeanUtils在处理异常时,通常会捕获并包装成`PropertyAccessException`,这样可以避免因属性访问失败而中断整个程序。 尽管BeanUtils库在处理Java Bean时提供了极大的便利,但也有一些需要注意的...

    commons-beanutils-1.9.2.zip

    在使用BeanUtils时,需要注意可能出现的`PropertyAccessException`,它通常表示在尝试访问或修改属性时发生了错误,可能是由于属性不存在、类型不匹配等原因。正确处理这些异常是保证程序健壮性的重要环节。 8. **...

    beanutils-1.8.3开发包

    3. **异常处理**:BeanUtils库会捕获并包装在访问属性过程中抛出的异常,返回一个统一的`PropertyAccessException`,简化了错误处理流程。 4. **国际化支持**:通过`Locale`对象,BeanUtils可以处理不同地区的数据...

    BeanUtils.zip

    BeanUtils在处理过程中如果遇到问题(如找不到属性或类型转换失败),会抛出`PropertyAccessException`,开发者可以通过捕获这个异常来处理错误情况。 5. **空值处理**: 对于null值的处理,BeanUtils也做了优化...

Global site tag (gtag.js) - Google Analytics