Doctrineオブジェクトグラフをシリアライズおよびデシリアライズしようとしています。JMSシリアライザを使用して再帰オブジェクトを処理する方法
構造はかなり複雑ですが、この例は、私の問題を要約:
Employee
にOneToMany関係にCompany
エンティティがあります。
Employee
エンティティには、Company
のManyToOne関係があります。次のように
これが連載されています
{
"company": {
"name": "MegaCorp",
"employees": [{
"name": "John Doe",
"company": null
}]
}
}
だから
null
の
Employee
の親
Company
への参照。シリアル化の場合はこれでいいです。 しかし、このjsonを逆シリアル化すると、
Employee
オブジェクトの
null
Company
が得られます。私が望むのは、親への正しい参照を得ることです(そして期待する)。
Company
。
これはJMSシリアライザを使用して可能ですか?もしそうなら、どうすればできますか?
できない場合は、どのような回避策をとることができますか?それは大きなグラフであることを覚えています。私はそれを手動で実行したくありません。
参照をnullにする代わりに、そのIDを使用します。基本的には、実際のオブジェクトの代わりにプロキシが必要です。 JMSがこれをサポートしているかどうかはわかりません。 – Gordon
これは可能な解決策ですが、実際には疑問があります。JMSはそれをサポートしていますか? –
私は '@ preSerialize'と' @ postSerialize'フックを持っていることを知っています。だから、それは実行可能です。 – Gordon