JPA (Eclipse Link) を介して永続性を提供する Java バックエンドと通信するために Blaze DS を使用して Flex でアプリケーションを開発しています。
JPA エンティティを Blaze DS 経由で Flex に渡すときに問題が発生します。Blaze DS はリフレクションを使用して、エンティティのすべての getter メソッドを呼び出すことにより、JPA エンティティを ObjectProxy (事実上 HashMap) に変換します。これには、遅延初期化された 1/多対多の関係が含まれます。
あなたはおそらく私がどこに向かっているのかを見ることができます。JPAを介して単一のオブジェクトを渡すと、このオブジェクトのすべての1/多対多メソッドが呼び出されます。返されたオブジェクトごとに、1/多対多の関係がある場合、それらも呼び出されます。そのため、単一の JPA エンティティを返すことで、実際には複数のデータベース呼び出しを実行し、関連するすべてのエントリを単一の ObjectProxy インスタンスとして返すことになります!
これまでの私の解決策は、各エンティティを ObjectProxy に、またはその逆に変換するトランスレータを作成することです。これは明らかに面倒であり、より良い方法が必要です。
考えてください?