0

シリアライゼーションを使用していますが、オブジェクトをデシリアライズしてリレーションを解決しようとすると、次の例外が発生します。

エンティティが DAO コンテキストから切り離されている

daoSession と myDao は一時的なものであり、シリアライズ時に無効化されるためだと思います。

daoSession と myDao を安全にリセットするにはどうすればよいですか?

4

1 に答える 1

1

データベースがあるのに、なぜオブジェクトをシリアライズするのでしょうか? DBへの書き込み/読み取りは、シリアル化よりもはるかに高速です。

オブジェクトを別のアクティビティに渡したい場合は、id を渡し、greenDAO を使用してオブジェクトをロードするだけです。これはほとんどの場合マップルックアップであるため、超高速です。

本当にこの方法で行う必要がある場合は、オブジェクトを逆シリアル化した後に呼び出すことができる __setDaoSession という正式にサポートされていないメソッドがあります。ただし、このメソッドが永久に存在することを保証するものではありません。

于 2012-12-18T22:18:33.857 に答える