Я разработал несколько веб-приложений GWT. Последний - небольшая модификация другой. Все они хорошо работают, за исключением последнего. Исключение составляют:Ошибка GWT: ответ не может быть десериализован
The response could not be deserialized
Я использую Hibernate и передачи объектов данных между Hibernate и GWT. Каждый DTO реализует интерфейс java.io.Serializable. Как я уже говорил, в других приложениях работает хорошо. Может ли кто-нибудь помочь мне с этой ошибкой? Я не знаю, в чем причина.
Мой Hibernate объектный код:
public List<AttributeDTO> getAttributes(){
String sql = "from Attribute where (select max(tDate) from Attribute)-tDate < '0 days 00:05'";
List<Attribute> attributes = new ArrayList<Attribute>(DatabaseManager.createQuery(sql));
List<AttributeDTO> attributeDTOs = new ArrayList<AttributeDTO>(attributes != null ? attributes.size() : 0);
if (attributes != null) {
for (Attribute attribute : attributes) {
String date = format.format(attribute.gettDate());
attributeDTOs.add(new AttributeDTO(attribute.getiAttrId(),attribute.getsName(),attribute.getsValue(),date,attribute.getiDeviceId(),attribute.getsUnits(),new ApplicationFieldDTO()));
}
}
return attributeDTOs;
}
И AttributeDTO является:
public class AttributeDTO implements Serializable {
private static final long serialVersionUID = 1L;
private int iAttrId;
private String name;
private String value;
private String date;
private String units;
private int iDeviceId;
private ApplicationFieldDTO appField;
public AttributeDTO() {}
public AttributeDTO(int attrId, String name, String value, String date, int deviceId, String units, ApplicationFieldDTO appField) {
this.iAttrId = attrId;
this.name = name;
this.value = value;
this.date = date;
this.iDeviceId = deviceId;
this.units = units;
this.appField = appField;
}
}
С GWT является метод GetAttributes вызова(), который возвращает список AttributeDTO.
Спасибо !!!
Вы должны опубликовать код DTO, который вас беспокоит –