2011-06-26 112 views
0

我开发了一个GWT项目。我创建了一个名为Employee的JPA实体。我希望将该实体持久保存到数据库中。我的员工是位于com.mygwt.client.bean下的 。现在我的问题是,是否所有的实体都位于服务器端?当我试图在 下创建服务器端时,我得到了一个异常,说忘记为Employee继承模块。有没有其他方法可以在服务器端创建实体,而不是在客户端创建实体?请建议我做对或不对的方式。GWT的JPA实体

回答

0

放入服务器端,然后在您的.gwt.xml中添加一个<source path='..'/>以告知GWT源位于何处。

+0

好的。感谢您的信息。 – user414967

0

以上答案是正确的。但是你必须小心你使用<source path='..' />添加的包中包含的内容。项目gwt.xml文件中的标记<source path='...' />告诉GWT编译器在哪里查找客户端代码以转换为JavaScript。所以你只能将类转换为可以转换为JavaScript的类。您不能只添加包含远程servlet的服务器端软件包,这是错误的并且不起作用。

我建议以下结构:

com.mycompany.client 
com.mycompany.shared 
com.mycompany.server 

基本上客户端代码在客户端目录,并在共享您保留其使用的客户端类(转移实物,模型,验证器......)和服务器端。然后把这些线到项目gwt.xml文件:

<source path='com.mycompany.client' /> 
<source path='com.mycompany.shared' /> 
+0

好的。谢谢。假设我们想添加包含业务逻辑的jar文件,我们可以将它添加到服务器端吗? – user414967

+0

是的,只需将服务器端jar文件放入WEB-INF/lib。 –

0

你必须要小心,只从com.mycompany.server树访问服务器的jar包。

另外,不要试图通过电缆将服务器库中的对象发送到客户端。如果你需要通过线路发送服务器库对象,那么你必须有源代码库 - 这是一团糟。在com.mycompany.shared中创建一个DTO类更容易,它是从服务器端信息创建的我的应用程序的sevrlet。

斯图尔特