Java:org.hibernate.PropertyAccessException,同时调用setter和getter

Java:org.hibernate.PropertyAccessException,同时调用setter和getter,java,hibernate,hibernate-mapping,restlet,Java,Hibernate,Hibernate Mapping,Restlet,我正在用java restlet和Hibernate构建一个应用程序 我有用户实体类,每当我调用HTTPGET时。 我得到了错误 { "error": "20000:Hibernate Exception. : org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of tecd.persistence.entity.User.idUser", "

我正在用java restlet和Hibernate构建一个应用程序

我有用户实体类,每当我调用HTTPGET时。 我得到了错误

{
    "error": "20000:Hibernate Exception. : org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of tecd.persistence.entity.User.idUser",
    "status": 500
}
这是我的实体类

包tecd.persistence.entity;
导入java.io.Serializable;
导入java.sql.Timestamp;
导入javax.persistence.Column;
导入javax.persistence.Entity;
导入javax.persistence.GeneratedValue;
导入javax.persistence.GenerationType;
导入javax.persistence.Id;
导入javax.persistence.Table;
导入org.json.JSONObject;
/**
*@作者Rohit
* 
*/
@实体
@表(name=“user”)
公共类用户实现可序列化{
私有静态最终长serialVersionUID=1L;
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
@列(name=“iduser”,nullable=false,unique=true,length=255)
私有字符串idUser;
@列(name=“name”,null=true,长度=255)
私有字符串名称;
@列(name=“username”,nullable=false,unique=true,length=255)
私有字符串用户名;
@列(name=“password”,null=false,长度=255)
私有字符串密码;
@列(name=“contactFirstName”,null=true,长度=255)
私有字符串contactFirstName;
@列(name=“contactLastName”,null=true,长度=255)
私有字符串contactLastName;
@列(name=“contactEmail”,null=true,长度=255)
私人字符串联系人电子邮件;
@列(name=“contactMobile”,null=true,长度=32)
移动电话;
@列(name=“contactPhone”,nullable=true,长度=32)
私用线控电话;
@列(name=“contactAddress”,nullable=true,columnDefinition=“MEDIUMTEXT”)
私有字符串地址;
@列(name=“status”,nullable=false)
私有整数状态;
@列(name=“type”,nullable=false)
私有整数类型;
@列(name=“createdDT”,nullable=false)
私有时间戳createdDate;
@列(name=“updatedt”,nullable=true)
私有时间戳更新日期;
@凌驾
公共字符串toString(){
StringBuilder sb=新的StringBuilder();
sb.append(“idUser=”).append(this.idUser).append(“,”);
sb.append(“name=”).append(this.name).append(“,”);
sb.append(“username=”).append(this.username).append(“,”);
sb.append(“password=”).append(this.password).append(“,”);
sb.append(“contactAddress=”).append(this.contactAddress)。append(“,”);
sb.append(“contactEmail=”).append(this.contactEmail).append(“,”);
sb.append(“status=”).append(this.status)。append(“,”);
sb.append(“type=”).append(this.type).append(“,”);
sb.append(“contactFirstName=).append(this.contactFirstName)
.附加(“,”);
sb.append(“contactLastName=).append(this.contactLastName)
.附加(“,”);
sb.append(“contactPhone=”).append(this.contactPhone).append(“,”);
sb.append(“contactMobile=”).append(this.contactMobile).append(“,”);
sb.append(“createdDate=”).append(this.createdDate).append(“,”);
sb.append(“updateDate=”).append(this.updateDate);
使某人返回字符串();
}
公共JSONObject toJSON(){
试一试{
JSONObject jsonObj=新的JSONObject();
jsonObj.put(“iduser”,this.iduser);
jsonObj.put(“用户名”,this.username);
jsonObj.put(“password”,this.password);
jsonObj.put(“createdDate”,this.createdDate);
jsonObj.put(“status”,this.status.toString());
jsonObj.put(“type”,this.type.toString());
//这些字段可能有空值
if(this.name!=null)
jsonObj.put(“name”,setValue(this.name));
if(this.contactFirstName!=null)
jsonObj.put(“contactFirstName”,setValue(this.contactFirstName));
如果(this.contactLastName!=null)
jsonObj.put(“contactLastName”,setValue(this.contactLastName));
if(this.contactAddress!=null)
jsonObj.put(“contactAddress”,setValue(this.contactAddress));
如果(this.contactPhone!=null)
jsonObj.put(“contactPhone”,setValue(this.contactPhone));
如果(this.contactMobile!=null)
jsonObj.put(“contactMobile”,setValue(this.contactMobile));
如果(this.contactEmail!=null)
jsonObj.put(“contactEmail”,setValue(this.contactEmail));
if(this.updateDate!=null)
jsonObj.put(“updateDate”,setValue(this.updateDate));
如果(this.contactPhone!=null)
jsonObj.put(“contactPhone”,setValue(this.contactPhone));
if(this.contactAddress!=null)
jsonObj.put(“contactAddress”,setValue(this.contactAddress));
System.out.println(“业务JSON对象”+jsonObj);
返回jsonObj;
}捕获(例外e){
e、 printStackTrace();
返回null;
}
}
公共对象设置值(对象输入){
对象字段值=((输入==null)?JSONObject.null.toString()
:输入);
返回字段值;
}
公共字符串getPassword(){
返回密码;
}
public void setPassword(字符串密码){
this.password=密码;
}    
公共字符串getUserName(){
返回用户名;
}
public void setUserName(字符串用户名){
this.userName=用户名;
}
公共字符串getidUser(){
返回idUser;
}
public void setidUser(字符串idUser){
this.idUser=idUser;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
公共字符串getContactFirstName(){
返回contactFirstName;
}
org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of tecd.persistence.entity.User.idUser
    at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:104)
    at org.hibernate.tuple.entity.AbstractEntityTuplizer.setIdentifier(AbstractEntityTuplizer.java:211)
    at org.hibernate.tuple.entity.AbstractEntityTuplizer.instantiate(AbstractEntityTuplizer.java:353)
    at org.hibernate.persister.entity.AbstractEntityPersister.instantiate(AbstractEntityPersister.java:3600)
    at org.hibernate.impl.SessionImpl.instantiate(SessionImpl.java:1275)
    at org.hibernate.impl.SessionImpl.instantiate(SessionImpl.java:1264)
    at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1290)
    at org.hibernate.loader.Loader.getRow(Loader.java:1197)
    at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:568)
    at org.hibernate.loader.Loader.doQuery(Loader.java:689)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
    at org.hibernate.loader.Loader.doList(Loader.java:2211)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
    at org.hibernate.loader.Loader.list(Loader.java:2090)
    at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
    at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
    at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
    at tecd.persistence.UserDAO.viewUser(UserDAO.java:53)
    at tecd.resource.UserResource.viewUser(UserResource.java:64)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.restlet.resource.ServerResource.doHandle(ServerResource.java:503)
    at org.restlet.resource.ServerResource.get(ServerResource.java:707)
    at org.restlet.resource.ServerResource.doHandle(ServerResource.java:589)
    at org.restlet.resource.ServerResource.doNegotiatedHandle(ServerResource.java:649)
    at org.restlet.resource.ServerResource.doConditionalHandle(ServerResource.java:348)
    at org.restlet.resource.ServerResource.handle(ServerResource.java:952)
    at org.restlet.resource.Finder.handle(Finder.java:246)
    at org.restlet.routing.Filter.doHandle(Filter.java:159)
    at org.restlet.routing.Filter.handle(Filter.java:206)
    at org.restlet.routing.Router.doHandle(Router.java:431)
    at org.restlet.routing.Router.handle(Router.java:648)
    at org.restlet.routing.Filter.doHandle(Filter.java:159)
    at org.restlet.routing.Filter.handle(Filter.java:206)
    at org.restlet.routing.Filter.doHandle(Filter.java:159)
    at org.restlet.routing.Filter.handle(Filter.java:206)
    at org.restlet.routing.Filter.doHandle(Filter.java:159)
    at org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:155)
    at org.restlet.routing.Filter.handle(Filter.java:206)
    at org.restlet.routing.Filter.doHandle(Filter.java:159)
    at org.restlet.routing.Filter.handle(Filter.java:206)
    at org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:211)
    at org.restlet.engine.application.ApplicationHelper.handle(ApplicationHelper.java:84)
    at org.restlet.Application.handle(Application.java:381)
    at org.restlet.routing.Filter.doHandle(Filter.java:159)
    at org.restlet.routing.Filter.handle(Filter.java:206)
    at org.restlet.routing.Router.doHandle(Router.java:431)
    at org.restlet.routing.Router.handle(Router.java:648)
    at org.restlet.routing.Filter.doHandle(Filter.java:159)
    at org.restlet.routing.Filter.handle(Filter.java:206)
    at org.restlet.routing.Router.doHandle(Router.java:431)
    at org.restlet.routing.Router.handle(Router.java:648)
    at org.restlet.routing.Filter.doHandle(Filter.java:159)
    at org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:155)
    at org.restlet.routing.Filter.handle(Filter.java:206)
    at org.restlet.routing.Filter.doHandle(Filter.java:159)
    at org.restlet.routing.Filter.handle(Filter.java:206)
    at org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:211)
    at org.restlet.Component.handle(Component.java:392)
    at org.restlet.Server.handle(Server.java:516)
    at org.restlet.engine.connector.ServerConnectionHelper.handle(ServerConnectionHelper.java:257)
    at org.restlet.engine.connector.ServerConnectionHelper.doHandleInbound(ServerConnectionHelper.java:186)
    at org.restlet.engine.connector.BaseHelper$2.run(BaseHelper.java:593)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42)
    ... 69 more
2014-06-08  13:51:11    0:0:0:0:0:0:0:1 -   -   8100    GET /TECDRestService/user/Arohit    -   500 -   0   1907    http://localhost:8100   Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0    -
@GeneratedValue(strategy = GenerationType.AUTO)
public void setIdUser(int idUser){
    this.idUser = "" + idUser;
}

public String getIdUser(){
    return this.idUser;
}