【问题标题】:Hibernate - Parameter value [2011] was not matching type [java.lang.Integer]. How to solve?Hibernate - 参数值 [2011] 与类型 [java.lang.Integer] 不匹配。怎么解决?
【发布时间】:2011-10-01 03:51:46
【问题描述】:

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

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

【问题讨论】:

  • StudentDemographics 中的 AcademicYear 字段的类型是什么?

标签: java sql-server hibernate jql


【解决方案1】:

我遇到了类似的问题,可以这样解决:

我使用 long 而不是int 作为相应字段的 type

【讨论】:

    猜你喜欢
    • 2015-10-20
    • 2019-09-03
    • 2019-07-23
    • 2016-07-13
    • 2013-02-20
    • 2019-02-11
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多