日期:2014-05-17  浏览次数:20714 次

hibernate中数据库类型映射,郁闷急啊!
在hibernate 3.2环境下,在customer表中customerId为自动增长的主键,是映射为long类型。我按表中的phoneNumber字段为条件查找出符合的customer对象,删除时为delete(customer),但却抛出异常:Provided id of the wrong type. Expected: class java.lang.Long, got class java.lang.String。说ID是错误的类型,期望long类型但得到的是String。我郁闷啊,我又没有以customerId为条件查找,是以phoneNumber为条件而且它是String类型的。

------解决方案--------------------
只能帮顶 关注
------解决方案--------------------
探讨
Customer customer =(Customer) manageCustomer.findByNumber(phoneNumber)这是查询
manageCustomer.delete(customer)这是删除
下面是manageCustomer中的查询方法
return (Customer)getHibernateTemplate().get("com.mobileBusiness.pojo.Customer",phoneNumber);

------解决方案--------------------
探讨
引用:
嗯 就是get("com.mobileBusiness.pojo.Customer",phoneNumber);
phoneNumber是Customer中的属性

get只能根据id获取,这是钉死的,你的方法就是错的