Java : org.mise en veille prolongée.PropertyAccessException tout en appelant setter et getter

Je suis la construction d'une application en java à l'aide de restlet et Hibernate .

J'ai de l'utilisateur de l'entité de la classe et à chaque fois que je demande http get .
J'obtiens l'erreur .

{
    "error": "20000:Hibernate Exception. : org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of tecd.persistence.entity.User.idUser",
    "status": 500
}

Voici ma classe d'entité .

package tecd.persistence.entity;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.json.JSONObject;
/**
* @author Rohit
* 
*/
@Entity
@Table(name = "user")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "iduser", nullable = false, unique = true, length = 255)
private String idUser;
@Column(name = "name", nullable = true, length = 255)
private String name;
@Column(name = "username", nullable = false,unique = true, length = 255)
private String userName;
@Column(name = "password", nullable = false, length = 255)
private String password;
@Column(name = "contactFirstName", nullable = true, length = 255)
private String contactFirstName;
@Column(name = "contactLastName", nullable = true, length = 255)
private String contactLastName;
@Column(name = "contactEmail", nullable = true, length = 255)
private String contactEmail;
@Column(name = "contactMobile", nullable = true, length = 32)
private String contactMobile;
@Column(name = "contactPhone", nullable = true, length = 32)
private String contactPhone;
@Column(name = "contactAddress", nullable = true, columnDefinition = "MEDIUMTEXT")
private String contactAddress;
@Column(name = "status", nullable = false)
private Integer status;
@Column(name = "type", nullable = false)
private Integer type;
@Column(name = "createdDT", nullable = false)
private Timestamp createdDate;
@Column(name = "updatedDT", nullable = true)
private Timestamp updatedDate;
@Override
public String toString() {
StringBuilder sb = new 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)
.append(",");
sb.append("contactLastName = ").append(this.contactLastName)
.append(",");
sb.append("contactPhone = ").append(this.contactPhone).append(",");
sb.append("contactMobile = ").append(this.contactMobile).append(",");
sb.append("createdDate = ").append(this.createdDate).append(",");
sb.append("updatedDate = ").append(this.updatedDate);
return sb.toString();
}
public JSONObject toJSON() {
try {
JSONObject jsonObj = new JSONObject();
jsonObj.put("iduser", this.idUser);
jsonObj.put("username", this.userName);
jsonObj.put("password", this.password);
jsonObj.put("createdDate", this.createdDate);
jsonObj.put("status", this.status.toString());
jsonObj.put("type", this.type.toString());
//These fields may have null values
if (this.name != null)
jsonObj.put("name", setValue(this.name));
if (this.contactFirstName != null)
jsonObj.put("contactFirstName", setValue(this.contactFirstName));
if (this.contactLastName != null)
jsonObj.put("contactLastName", setValue(this.contactLastName));
if (this.contactAddress != null)
jsonObj.put("contactAddress", setValue(this.contactAddress));
if (this.contactPhone != null)
jsonObj.put("contactPhone", setValue(this.contactPhone));
if (this.contactMobile != null)
jsonObj.put("contactMobile", setValue(this.contactMobile));
if (this.contactEmail != null)
jsonObj.put("contactEmail", setValue(this.contactEmail));
if (this.updatedDate != null)
jsonObj.put("updatedDate", setValue(this.updatedDate));
if (this.contactPhone != null)
jsonObj.put("contactPhone", setValue(this.contactPhone));
if (this.contactAddress != null)
jsonObj.put("contactAddress", setValue(this.contactAddress));
System.out.println("business JSON object"+jsonObj);
return jsonObj;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public Object setValue(Object input) {
Object fieldValue = ((input == null) ? JSONObject.NULL.toString()
: input);
return fieldValue;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}    
public String getUserName() {
return userName ;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getidUser() {
return idUser;
}
public void setidUser(String idUser) {
this.idUser = idUser;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContactFirstName() {
return contactFirstName;
}
public void setContactFirstName(String contactFirstName) {
this.contactFirstName = contactFirstName;
}
public String getContactLastName() {
return contactLastName;
}
public void setContactLastName(String contactLastName) {
this.contactLastName = contactLastName;
}
public String getContactEmail() {
return contactEmail;
}
public void setContactEmail(String contactEmail) {
this.contactEmail = contactEmail;
}
public String getContactMobile() {
return contactMobile;
}
public void setContactMobile(String contactMobile) {
this.contactMobile = contactMobile;
}
public String getContactPhone() {
return contactPhone;
}
public void setContactPhone(String contactPhone) {
this.contactPhone = contactPhone;
}
public String getContactAddress() {
return contactAddress;
}
public void setContactAddress(String contactAddress) {
this.contactAddress = contactAddress;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Timestamp getCreatedDate() {
return createdDate;
}
public void setCreatedDate(Timestamp createdDate) {
this.createdDate = createdDate;
}
public Timestamp getUpdatedDate() {
return updatedDate;
}
public void setUpdatedDate(Timestamp updatedDate) {
this.updatedDate = updatedDate;
}
}

Et le fichier xml ressemble à

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="tecd.persistence.entity.User" table="user">    
<id name="idUser" type="long" unsaved-value="null">
<column name="idUser" not-null="true"/>
<generator class="identity"/>
</id>
<property name="userName">
<column name="username" not-null="true" />
</property>
<property name="password">
<column name="password" not-null="true" />
</property>     
<property name="status">
<column name="status" not-null="true" />
</property>
<property name="type">
<column name="type" not-null="true" />
</property>
<property name="createdDate">
<column name="createdDT" not-null="true" />
</property>
<property name="updatedDate">
<column name="updatedDT" not-null="false" />
</property>
<property name="name">
<column name="name" length="255" not-null="false" />
</property>
<property name="contactFirstName">
<column name="contactFirstName" length="255" not-null="false" />
</property>
<property name="contactLastName">
<column name="contactLastName" length="255" not-null="false" />
</property>
<property name="contactEmail">
<column name="contactEmail" length="255" not-null="false" />
</property>
<property name="contactMobile">
<column name="contactMobile" length="32" not-null="false" />
</property>     
<property name="contactPhone">
<column name="contactPhone" length="32" not-null="false" />
</property>     
<property name="contactAddress">
<column name="contactAddress" not-null="false" />
</property>     
</class>
</hibernate-mapping>

Veuillez me suggérer quel est le problème ici .Est-il une version de java problème ou ce que je ne suis pas en mesure de comprendre ce problème .

Table Mysql ressemble

CREATE TABLE `user` (
`idUser` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`contactFirstName` varchar(255) DEFAULT NULL,
`contactLastName` varchar(255) DEFAULT NULL,
`contactEmail` varchar(255) DEFAULT NULL,
`contactMobile` varchar(32) DEFAULT NULL,
`contactPhone` varchar(32) DEFAULT NULL,
`contactAddress` mediumtext,
`status` int(11) NOT NULL,
`type` int(11) NOT NULL,
`createdDT` datetime NOT NULL,
`updatedDT` datetime DEFAULT NULL,
PRIMARY KEY (`idUser`)
)

Erreur :

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    -
  • Pouvez-vous ajouter de la pleine stacktrace s'il vous plaît?
  • vérifier les mises à jour
  • Est-ce avant ou après que vous cange le type en db?
  • de ses avant seulement
InformationsquelleAutor burning | 2014-06-07