Я использую GWT и JPA для настойчивости.Я создал зачарованные классы домена JPA, DAO и RPC для связи между ними.Все работает нормально, через RPC клиент отправляет объект на сервер, но не может получить ответ.Сервер не может десериализоваться совместимым образом с клиентской стороной.Поэтому я не могу использовать обратный вызов сервера обратно к клиенту.Сообщение об исключении следующее:
Невозможно десериализовать ответ, com.google.gwt.user.client.rpc.SerializationException
Вот пример кода одногоиз моих классов:
@Entity
@Table(name="course")
public class Course implements Serializable {
private static final long serialVersionUID = 1L;
private int courseId;
private String name;
private List<Group> groups;
private List<Module> modules;
public Course() {
}
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(unique=true, nullable=false)
public int getCourseId() {
return this.courseId;
}
public void setCourseId(int courseId) {
this.courseId = courseId;
}
@Column(nullable=false, length=100)
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
//bi-directional many-to-one association to Group
@OneToMany(mappedBy="course", fetch=FetchType.LAZY)
public List<Group> getGroups() {
return this.groups;
}
public void setGroups(List<Group> groups) {
this.groups = groups;
}
//bi-directional many-to-one association to Module
@OneToMany(mappedBy="course", fetch=FetchType.LAZY)
public List<Module> getModules() {
return this.modules;
}
public void setModules(List<Module> modules) {
this.modules = modules;
}
}
- Если я удалю отношения, все будет хорошо.Это сделано потому, что коллекции, такие как списки, наборы и т. Д., Преобразуются в объекты гибернации, которые не могут быть обработаны клиентской стороной GWT.