改札のセッションサイズの調整について読んでいますが、モデルを永久に存続させないためにLoadableDetachableModelを使用することをお勧めします。プロパティモデル(PropertyおよびPropertyCompoundModel)は非常に高価ですか?
LDMまたはプロパティモデルをいつ使用するのですか?
LoadableDetachableModelデータベースから取得したデータを使用している場合は、リロードに必要な ID のみがシリアル化されるように、ほとんどの場合 a を使用するのが最善です。
PropertyModelモデルをCompoundPropertyModelラップしてフォームで使いやすくすることができますが、セッションへのシリアル化のコストを削減する主な方法は、LoadableDetachableModel.
それは常にあなたが達成しようとしていることに依存します。そのため、費用がいくらなのかを理解することが重要です。
リクエスト間で、Wicket は通常、ページ オブジェクトとそれが参照するすべてのものをシリアル化します。これには、ページ上のすべてのコンポーネントと、その結果としてのすべてのモデルが含まれます。これが起こらないのは、ページがステートレスの場合だけです。
ほとんどのモデル実装には、基になるモデル オブジェクトへの非一時的な参照が含まれているため、モデルに大きなオブジェクトへの参照が含まれていて、ページがステートレスでない場合、シリアル化時間のオーバーヘッドが発生し、さらに重要なことには、.セッション。
LoadableDetachableModel動作が異なり、基になるモデル オブジェクトへの一時的な参照のみが含まれているため、シリアル化されている場合、モデル オブジェクトはそうではありません。これの欠点は、リクエストごとにモデル オブジェクトを再構築する必要があることです。
だからあなたの質問は本当にこれです: 従来のモデルを使用するコストは のコストを上回りLoadableDetachableModelますか? すでに述べたように、モデル オブジェクトがデータベースから取得されたものである場合、ほとんどの場合、LDM を使用する価値があります。
覚えておかなければならないもう 1 つのこと (そして LDM を支持する強力な議論) は、モデルを連鎖できるということです。CompoundPropertyModelそのため、LDM によってサポートされている を引き続き使用できます。