IllegalArgumentException occurred calling getter of *此类异常说明 .

在hibernate中报IllegalArgumentException occurred calling getter of *此类异常,上网查了一下,说是是待写入数据库的值和数据库字段类型不相匹配,造成的。。。(至少这是造成错误的其中一种原因),但实际上我的并不是这个原因而导致这个异常的,代码如下:

DetachedCriteria dc = DetachedCriteria.forClass(PropertyContract.class);
Long dCode = findContractStatusCode(); //状态
dc.add(Restrictions.eq("contractStatus", dCode));		
....	
return this.getHibernateTemplate().findByCriteria(dc);


当运行这句代码时就会报IllegalArgumentException occurred calling getter的异常,用生成出来的sql代码在Navicat上运行没问题的,后来直接将其更改为为用sql语句的方式来执行就没有报出异常了。原因不明。

代码:

DetachedCriteria dc = DetachedCriteria.forClass(PropertyContract.class);
Long dCode = findContractStatusCode();
dc.add(Restrictions.sqlRestriction("this_.contractStatus_dcode="+dCode));//有效合同
...
return this.getHibernateTemplate().findByCriteria(dc);



你可能感兴趣的:(exception)