我使用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