java inte_无法将java.lang.Integer字段设置为java.lang.Inte...

用户声明:

@Entity

public class User {

@Id

@GeneratedValue

private Integer id;

....

模式声明:

@Entity

public class Pattern {

@Id

@GeneratedValue

Integer id;

...

UserPatternDeclaration:

public class UserPattern {

@Id

@GeneratedValue

Integer id;

@ManyToOne

@JoinColumn(name = "user_id")

User user;

@ManyToOne

@JoinColumn(name = "pattern_id")

Pattern pattern;

...

请求数据库:

Session session = sessionFactory.getCurrentSession();

Query query = session.createQuery("from UserPattern where user = :user_id and pattern = :pattern_id ");

query.setParameter("user_id", userId);

query.setParameter("pattern_id", pattern_id);

List list = query.list();//exception throws here

我有以下异常:

...

java.lang.IllegalArgumentException: Can not set java.lang.Integer field

com.....s.model.User.id to java.lang.Integer

at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:164)

at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:168)

at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:55)

at sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:36)

at java.lang.reflect.Field.get(Field.java:379)

....

请帮助解决此问题.

错误信息看起来很奇怪.

我已阅读相关主题click但我没有找到答案.

附:

休眠日志(异常之前):

Hibernate:

select

userpatter0_.id as id1_2_,

userpatter0_.amountSearched as amountSe2_2_,

userpatter0_.amountplayed as amountpl3_2_,

userpatter0_.pattern_id as pattern_4_2_,

userpatter0_.user_id as user_id5_2_

from

UserPattern userpatter0_

where

userpatter0_.user_id=?

and userpatter0_.pattern_id=?

在浏览器中,我看到以下消息:

HTTP Status 500....could not get a field value by reflection getter of...model.User.id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值