GWT&x2B;EJB+;MYSQL
我有一些关于序列化和持久性的问题。 首先,我有一个GWT项目,其中包含客户机代码和一个Servlet以进行通信 我的EJB项目。 在EJB项目中,有一些持久的实体类,它们彼此之间有引用,并有bean来管理它们。 参考可能如下所示:GWT&x2B;EJB+;MYSQL,mysql,gwt,ejb,Mysql,Gwt,Ejb,我有一些关于序列化和持久性的问题。 首先,我有一个GWT项目,其中包含客户机代码和一个Servlet以进行通信 我的EJB项目。 在EJB项目中,有一些持久的实体类,它们彼此之间有引用,并有bean来管理它们。 参考可能如下所示: Object A / \ Object B Object C \ Object D 主要是1:n关系,我必须用one
Object A
/ \
Object B Object C
\
Object D
主要是1:n关系,我必须用oneToMany或类似的东西来建模。。
我将它们存储到一个MYSQL数据库中,该数据库已经可以使用字符串。
对于字符串,通过GWTServlet将它们从GWT客户端传输到EJBbean,然后再传输到数据库,再以同样的方式传输回客户端,我没有遇到任何问题。
但当我尝试在GWT客户机和EJB之间传输自己创建的类对象(POJO?)时,总是会遇到序列化异常。
是因为GWT Servlet吗?我读到一些你必须使用DTo或值对象的东西?这是正确的吗?
还是没有一个简单的方法来解决这个问题?请参见
符合上述规范的所有等级
或者实现com.google.gwt.user.client.rpc.IsSerializable可以序列化
例如:
import com.google.gwt.user.client.rpc.IsSerializable;
import java.util.HashMap;
public class Row implements IsSerializable
{
private HashMap _row;
public Row()
{
_row = new HashMap();
}
public Row(HashMap row)
{
_row = row;
}
public Object getCellValue(String columnName)
{
return _row.get(columnName);
}
public void setCellValue(String columnName, Object value)
{
_row.put(columnName, value);
}
public HashMap getRow()
{
return _row;
}
}
在文档中还有下面的链接,我从未尝试过
您的POJO类是否实现了序列化接口?(正常的at按钮不起作用..)at实体公共类TestClass实现了可序列化的{at Id私有字符串名称;at OneToMany(cascade={CascadeType.REMOVE})私有集合测试;公共TestClass(){}实体公共类Test2的getter+Setter在GeneratedValue(strategy=GenerationType.IDENTITY)处实现可序列化的{at Id}private int Id;private String name;public Test2(){}getter+Setter应该是正确的,我想..您能提供有关序列化异常的更多详细信息吗?(复制粘贴堆栈跟踪)或者类似的东西来澄清我的项目结构:Entities+SessionBean:GWT Servlet:我有一个GWT客户端,在那里我暂时想使用EJB项目中的POJO。然后有一个GWT Servlet,它在那里与我的EJB项目通信。至少我有一个EJB项目和会话bean,用于管理持久性实体,应该能够传输到GWT客户端。当我想测试我是否可以持久化这个小示例时,我得到了以下例外:似乎我无法使用Transactionmanagement。我如何告诉我的GWT项目我有哪些持久化实体?