永发信息网

The method get(Class, Serializable)

答案:2  悬赏:20  手机版
解决时间 2021-03-22 15:10
  • 提问者网友:玫瑰园
  • 2021-03-22 11:30
The method get(Class, Serializable) in the type HibernateTemplate is not applicable for the arguments (Class, int)

--这个是我方法中的返回值
return (Job)this.getHibernateTemplate().get(Job.class, id);

其中 ID是 INT 型的 但是 貌似 它让我 变成
Serializable 类型 但是 老师 的也是这个 方法 照老师的敲的 请问 我是哪地方出错了 ?

郁闷了 JRE 换成1.5的 就好了 。。。谁 来 随便说继续 我给 评下~
最佳答案
  • 五星知识达人网友:由着我着迷
  • 2021-03-22 12:55
可能是JDK版本问题,你改一下最新的版本,如果不行的话,就这样写:
User user = (User)session.get(User.class, new Integer(id));
全部回答
  • 1楼网友:拾荒鲤
  • 2021-03-22 14:12
hibernate把几乎所有的东西都看成对象,你建表的时候id虽然用的是int但在配置文件中生成默认的就是integer类型,再比如bigint就是long,可见他的对象概念是很强的。你看下load方法的声明,把鼠标放到load上应该有该方法声明的提示(一般的ide都可以的,别告诉你用的是记事本。。),该方法是需要一个可序列化的对象(实现了serializable接口的)integer就实现了该接口,而int没有。你要想深入了解可以多查看一下这方面的资料,如果只是想会用,那么你记得第2个参数一定要给一个实现了serializable接口的对象
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯