spring中使用HibernateTemplate或HibernateDaoSupport报类型转换错误

使用spring的HibernateDaoSupport的时候,报错如下:

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at org.hibernate.type.IntegerType.set(IntegerType.java:64)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:154)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:136)

实体类如下:

public class User
{
    private int id;  

    private String name;  

    public int getId()
	{
        return id;
    }
    public void setId(int id)
	{
        this.id = id;
    }
    public String getName()
	{
        return name;
    }
    public void setName(String name)
	{
        this.name = name;
    }
}

dao层的代码如下:

public void select(String id)
{
    List result = this.getHibernateTemplate().find("from User where id=?",
                new Object[] { id });
}

错误原因是:实体类中User类的id属性是Integer类型的,但是传递的查询条件id是String类型的。将string改成int类型,错误解决。

public void select(int id)
{
    List result = this.getHibernateTemplate().find("from User where id=?",
            new Object[] { id });
}  

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-03 21:00:38

spring中使用HibernateTemplate或HibernateDaoSupport报类型转换错误的相关文章

Spring AOP报错处理 Can not set field to $Proxy 在spring中使用事物或AOP遇到的错误

[转] 解决方法: http://forum.springsource.org/showthread.php?85016-IllegalArgumentException-with-ApplicationContextAware-Proxy 在配置文件中加入proxy-target-class="true" <tx:annotation-driven transaction-manager="transactionManager" proxy-target-c

virtualbox虚拟机中mysql远程连接登陆报2003错误的解决方法

最近在virtualbox中安装了Ubuntu 14,配置了一个mysql server,设置的桥接网络模式.在其他电脑连接的时候,总是报2003错误.开始以为是localhost没有置换为%,运行update语句将其置换,依然不行.后来发现是因为mysql的默认配置文件/etc/mysql/my.cnf 中有一行: bind-address            = 127.0.0.1 就是说,默认绑定了ip,只限本机访问.将本行加#注释掉,远程访问正常.

MVC中使用jquery uploadify上传图片报302错误

使用jquery uploadify上传图片报302错误研究了半天,发现我上传的action中有根据session判断用户是否登录,如果没有登录就跳到登陆页,所以就出现了302跳转错误.原来更新了flash的版本以后,通过uploadify获取不到session的值.我目前的解决办法是: Global.asax.cs中: /// <summary> /// 解决uploadif上传无法获取Cookie的情况 /// </summary> /// <param name=&qu

spring mvc 4.1 返回json报406错误的解决办法

浏览器访问,报 The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers. 解决办法,检查springmvc的配置文件中有无 <mvc:annotation-driven />

spring中set注入的一些小细节错误

这是小白偶尔一直null指针的错误,调试了好久,原来是自己对spring注入的不够了解 我相信有很多跟我差不多的初学者会遇上,所以特地写出来,防止有人跟我一样.哈哈,也写上去,以防自己下次还犯这样的错误. 一样,首先,举个反例 所有类 有个城市类 有个华北地区类,有个城市类的集合属性 同上,华南地区类 index.jsp页面 <%@ page language="java" import="java.util.*" pageEncoding="GB1

selenium中,运行测试用例,报NosuchElementException错误,用try --except 捕获异常

try: ele=driver.find_element_by_name('kw') except  NosuchElementException as msg: print '查找元素异常原因:%s'%msg else:      ele.click() selenium常见异常 1.NoSuchElementException:没有找到元素 2.NoSuchFrameException:没有找到iframe 3.NoSuchWindowException:没找到窗口句柄handle 4.No

HibernateTemplate和HibernateDaoSupport(spring注入问题)

HibernateTemplate HibernateTemplate是spring提供的一个就hibernate访问持久层技术而言.支持Dao组件的一个工具.HibernateTemplate提供持久层访问模板,应用HibernateTemplate无须实现特定的接口,它只需要提供一个sessionFactory的引用就可以执行持久化操作. 该模板无需打开session及关闭Session.它只要获得SessionFactory的引用,就可以打开Session,并在持久化访问结束后关闭Sess

[原理][源代码解析]spring中@Transactional,Propagation.SUPPORTS,以及 Hibernate Session,以及jdbc Connection关系---转载

问题: 一. 1. Spring 如何处理propagation=Propagation.SUPPORTS? 2. Spring 何时生成HibernateSession ? 3. propagation=Propagation.SUPPORTS 和propagation=Propagation.require对生成Session有何影响 ? 共同点:都会进入aspect切面处理, 试图新建Session,开启Transaction ,都能获得.TransactionStatus 区别: 前者成

spring中getSession()连接关闭的问题

做OA项目中用到了从数据库读下拉框的值.方法的类被SPRING管理就是说不能通过new()得到对象. 开始的做法是 public static DictionarySelect getFromApplicationContext() {   ApplicationContext ctx  = new ClassPathXmlApplicationContext("/applicationContext.xml");  dictionarySelect=(DictionarySelect