Hibernate - 参数值[2011]不匹配类型[java.lang.Integer]。怎么解决?

时间:2011-07-08 10:02:24

标签: java sql-server hibernate jql

我收到上面的消息,即使我通过Integer传递给命名查询的值。 有谁能解释为什么? 感谢

DAO Java代码

Calendar 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 w Hibernate / JQL + SQL Server

1 个答案:

答案 0 :(得分:3)

我遇到了类似的问题,可以通过这种方式修复:

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