我正在 Flex 中开发一个应用程序,使用 Blaze DS 与 Java 后端通信,该后端通过 JPA(Eclipse 链接)提供持久性。
通过 Blaze DS 将 JPA 实体传递给 Flex 时遇到问题。Blaze DS 通过调用实体上的所有 getter 方法,使用反射将 JPA 实体转换为 ObjectProxy(实际上是 HashMap)。这包括任何延迟初始化的一对多关系。
你可能会看到我要去哪里。如果我通过 JPA 传递一个对象,这将调用该对象的所有一对/多对多方法。对于每个返回的对象,如果它们具有一对多的关系,它们也会被调用。因此,通过传回单个 JPA 实体,我实际上最终会执行多个数据库调用并将所有相关条目作为单个 ObjectProxy 实例传回!
迄今为止,我的解决方案是创建一个转换器,将每个实体转换为 ObjectProxy,反之亦然。这显然很麻烦,必须有更好的方法。
请问有什么想法吗?