我使用GWT和JPA进行持久化。我创建了一个域JPA附魔类,DAO和RPC用于它们之间的通信。一切正常,通过RPC客户端发送对象到服务器,但无法得到响应。服务器无法以与客户端兼容的方式进行反序列化。所以我不能使用服务器回调回客户端。异常消息是这样的:GWT JPA - 响应无法反序列化
无法 反序列化的响应, 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;
}
}
- 如果删除了关系它的工作的罚款。这样做是因为集合像列表,集合的e.t.c被转换成GWT客户端无法处理的hibernate对象。
请显示一些代码 – 2011-04-05 21:38:58
请注意什么样的List hibernate返回。在你的getter上,你可以尝试明确列表的类型 - 例如返回一个'ArrayList',并在方法体中返回一个'new ArrayList(existingList);' –
Finbarr
2011-04-06 11:35:47