我即将启动新的java项目,我认为GWT是我的框架。
我在互联网上看过很多文章(主要文档也是),我很困惑。
所以我问你:
我可以使用jpa实体与DAO一起工作,并通过网络发送到客户端吗?
我真的不明白DTO的概念(写的模型几乎相同,但更差)
如果我要通过网络向客户端发送实体,如何使用可序列化的临时注释来不序列化和发送方法、类的参数?有可能吗?
所有这些将如何与泛型类型化的由正确的类实现扩展的超类一起工作?
f.e:
public class GenericModel extends GenericModel<T> {
//some generic code
}
public class RightModel extends GenericModel<RightModel> {
// some right class code
}
刀也一样..。
请帮帮忙。我指望你的经验。
发布于 2015-07-22 00:07:18
不是说我当时是专家,而是当我开始将Hibernate (不是JPA本身)和GWT结合起来时,这是一种痛苦。
您不能仅仅发送Hibernate托管对象(不管底层技术如何,对JPA来说都是如此)的原因是,它们包含字节码操作,比如javassist。GWT一点也不喜欢这样,您不能通过GWT线路发送这些对象。
当然,这也是没有意义的:当您在DAO上调用getter时,您不能期望Javascript (客户端)调用SQL来延迟加载集合(因为这就是服务器端对这些DAO对象所做的事情,这就是Javascript魔术在背后所做的)。
我不确定即使所有的集合都被急切地加载了,您的对象也没有javassist,并且可以通过GWT进行序列化。这给您留下了一种选择,即定制POJO对象,使其只包含客户端当前需要的部分(属性/集合)-- DTO。
从那时起,GWT中发生了很多事情,我知道一些与RPC完全不同的东西,即RequestFactory (参见http://www.gwtproject.org/doc/latest/DevGuideRequestFactory.html)。我自己也没用过,但它向make it easy to build data-oriented (CRUD) apps with an ORM-like interface on the client
宣称。因此,如果您不想构建用于连接RPC的自定义类,这可能是一种方法。
https://stackoverflow.com/questions/31554566
复制相似问题