Hibernate - 参数值[2011]不匹配类型[java.lang.Integer]。怎么解决? [英] Hibernate - Parameter value [2011] was not matching type [java.lang.Integer]. How to solve?

查看:450
本文介绍了Hibernate - 参数值[2011]不匹配类型[java.lang.Integer]。怎么解决?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

即使我正在通过Integer传递给指定查询的值,我也得到了上面的消息。
任何人都可以解释为什么?
谢谢

DAO Java代码

 日历cal = Calendar.getInstance(); 
cal.setTime(interval.getStartDate());
query.setParameter(academicYear,new Integer(cal.get(Calendar.YEAR)));

查询:

  @NamedQuery(name =StudentDemographics.findByMOEDEqual,query =SELECT s.student FROM StudentDemographics s+ 
where:academicYear = s.academicYear+
AND UPPER s.MOED)like:MOED),

错误:
参数值[2011]不匹配类型[java.lang.Integer]

环境是Spring Hibernate / JQL + SQL Server

解决方案

我有类似的问题,可以通过这种方式解决问题:

我使用 long int 作为相应字段的类型


I am getting the message above even though the value I'm passing through an Integer to the named query. Can anyone explain why? Thanks

DAO Java Code

Calendar cal = Calendar.getInstance();
cal.setTime(interval.getStartDate());        
query.setParameter("academicYear", new Integer(cal.get(Calendar.YEAR)));

Query:

@NamedQuery(name = "StudentDemographics.findByMOEDEqual", query = "SELECT s.student FROM StudentDemographics s " +
            "WHERE :academicYear = s.academicYear " +
            "AND UPPER(s.MOED) like :MOED"),

Error: Parameter value [2011] was not matching type [java.lang.Integer]

Environment is Spring w Hibernate/JQL + SQL Server

解决方案

I had a similar problem and could fix it this way:

I used long instead of int as a type for the respective field.

这篇关于Hibernate - 参数值[2011]不匹配类型[java.lang.Integer]。怎么解决?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆