我使用 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 客户端无法处理的 Hibernate 对象。
问题是我的类与另一个类有 @OneToMany 关联。如果我删除关联,它就可以正常工作。但这是不可能的,因为我使用规范化的关系数据库
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)